我有一个网络服务器,可以将大型二进制文件(几兆字节)读入字节数组。服务器可能同时读取多个文件(不同的页面请求),所以我正在寻找最优化的方法来执行此操作,而不会过多地占用 CPU。下面的代码是否足够好?
public byte[] FileToByteArray(string fileName)
{
byte[] buff = null;
FileStream fs = new FileStream(fileName,
FileMode.Open,
FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
long numBytes = new FileInfo(fileName).Length;
buff = br.ReadBytes((int) numBytes);
return buff;
}
最佳答案
只需将整个内容替换为:
return File.ReadAllBytes(fileName);
但是,如果您担心内存消耗,您不应该一次将整个文件全部读入内存。你应该分 block 做。
关于c# - 在 C# 中将大文件读入字节数组的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2030847/