在C#中将大文件读入字节数组的最佳方法?

我有一个web服务器,它可以将大型二进制文件(数兆字节)读入字节数组。服务器可能同时读取多个文件(不同的页面请求),因此我正在寻找一种最优化的方法来实现这一点,而不会对CPU造成太大的负担。下面的代码足够好吗

公共字节[]FileToByteArray(字符串文件名)
{
字节[]buff=null;
FileStream fs=新文件流(文件名,
FileMode.Open,
FileAccess.Read);
BinaryReader br=新的BinaryReader(fs);
long numBytes=新文件信息(fileName).Length;
buff=br.ReadBytes((int)numBytes);
返回buff;
}

只需将整个内容替换为:

返回文件.ReadAllBytes(文件名);

但是,如果您担心内存消耗,则不应该一次将整个文件读入内存。你应该分块做

发表评论