我有一個Web服務(wù)器,它將大的二進制文件(幾兆字節(jié))讀入字節(jié)數(shù)組。服務(wù)器可能同時讀取多個文件(不同的頁面請求),因此我正在尋找最優(yōu)化的方式來做到這一點,而又不會給CPU帶來太多負(fù)擔(dān)。下面的代碼足夠好嗎?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;}
3 回答

收到一只叮咚
TA貢獻1821條經(jīng)驗 獲得超5個贊
只需將整個內(nèi)容替換為:
return File.ReadAllBytes(fileName);
但是,如果您擔(dān)心內(nèi)存消耗,你應(yīng)該不會一下子在所有讀取整個文件到內(nèi)存中。您應(yīng)該分塊進行。
- 3 回答
- 0 關(guān)注
- 1130 瀏覽
添加回答
舉報
0/150
提交
取消