相关疑难解决方法(0)

如何用C#编写超高速文件流代码?

我必须将一个巨大的文件拆分成许多较小的文件.每个目标文件由偏移量和长度定义为字节数.我正在使用以下代码:

private void copy(string srcFile, string dstFile, int offset, int length)
{
    BinaryReader reader = new BinaryReader(File.OpenRead(srcFile));
    reader.BaseStream.Seek(offset, SeekOrigin.Begin);
    byte[] buffer = reader.ReadBytes(length);

    BinaryWriter writer = new BinaryWriter(File.OpenWrite(dstFile));
    writer.Write(buffer);
}
Run Code Online (Sandbox Code Playgroud)

考虑到我必须将此功能调用大约100,000次,因此速度非常慢.

  1. 有没有办法让Writer直接连接到Reader?(也就是说,实际上没有将内容加载到内存中的Buffer中.)

c# cpu streaming performance utilization

39
推荐指数
3
解决办法
9万
查看次数

标签 统计

c# ×1

cpu ×1

performance ×1

streaming ×1

utilization ×1