在C#中,
如果您想从头到尾写入数据,则此解决方案有效。但在我的情况下,我收到的数据块没有特定的顺序。
我有一个适用于小于2GB的文件的代码:
FileStream
的方法Read / Write / Seek需要在参数中传递整数。在之前的帖子中,我看到了一个很好的解决方案,可以读取/写入大于进程分配的虚拟内存的文件。如果您想从头到尾写入数据,则此解决方案有效。但在我的情况下,我收到的数据块没有特定的顺序。
我有一个适用于小于2GB的文件的代码:
private void WriteChunk(byte[] data, int position, int chunkSize, int count, string path)
{
FileStream destination = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
BinaryWriter writer = new BinaryWriter(destination);
writer.Seek((int) (position*chunkSize), SeekOrigin.Begin);
writer.Write(data, 0, count);
writer.Close();
}
我是否能够在大于2GB的文件中寻找和写入数据块?