读取块的二进制文件C#

Ben*_*Ben 2 c# stream

如何在C#中读取二进制文件中的5兆字节块?

对于每一块我需要做的事情......请帮助我!

Nas*_*ine 6

您可以使用a 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @Ben看到我更新的答案.您需要另外写一个文件然后完成后,如果您愿意,可以用输出文件替换输入文件. (2认同)