Как читать куски 5 мегабайт в двоичном файле на C#?читать куски двоичный файл C#
Для каждого куска мне нужно что-то сделать ... Пожалуйста, помогите!
Как читать куски 5 мегабайт в двоичном файле на C#?читать куски двоичный файл C#
Для каждого куска мне нужно что-то сделать ... Пожалуйста, помогите!
Вы можете использовать FileStream
для чтения двоичного файла, а затем выполнить обработку на нем. Вот пример:
using (var inFileSteam = new FileStream(@"C:\path\to\file.bin", FileMode.Open))
{
byte[] buffer = new byte[5 * 1024 * 1024]; // 5MB in bytes is 5 * 2^20
int bytesRead = inFileSteam.Read(buffer, 0, buffer.Length);
while (bytesRead > 0)
{
for (int i = 0; i < bytesRead; i++)
{
if (buffer[i] == 0x28) // 0010 1000 in binary
{
// replace for example or any other manipulation
buffer[i] = 0x00;
}
}
outFileStream.Write(buffer, 0, bytesRead);
bytesRead = inFileSteam.Read(buffer, 0, buffer.Length);
}
}
Спасибо! Но на самом деле это не работает, если я хочу заменить, например, «0101000» (Random, я не знаю, существует ли это или нет) с помощью «A» или «B», правильно? – Ben
@Ben см. Мой обновленный ответ. Вам нужно будет записать еще один файл, а затем, когда это будет сделано, вы можете заменить входной файл на выходной, если хотите. – Nasreddine
Если это двоичный файл, лучше не преобразовывать его в строку. – Nasreddine
Да, извините ... Моя вина. Мне нужно прочитать файл .bin, а затем заменить некоторые байты на другие байты ... Большое вам спасибо! @Nasreddine – Ben