开发者社区> 问答> 正文

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

我有一个Web服务器,它将大的二进制文件(几兆字节)读入字节数组。服务器可能同时读取多个文件(不同的页面请求),所以我正在寻找最优化的方式来做到这一点而又不会给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; }

展开
收起
保持可爱mmm 2020-01-15 10:15:30 569 0
1 条回答
写回答
取消 提交回答
  • 只需将整个内容替换为:

    return File.ReadAllBytes(fileName);

    但是,如果您担心内存消耗,你应该不会一下子在所有读取整个文件到内存中。您应该分块进行。

    问题来源于stack overflo

    2020-01-15 10:15:44
    赞同 展开评论 打赏
问答分类:
C#
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载