[問題] 請問關於讀很大的文字檔
我有一個大約250 MB的文字檔需要處理, 電腦的記憶體有1GB
我希望能一次就把這文字檔所有的內容讀進一個string當中
所以我用以下方法
const string FILE_NAME = "input.txt";
StreamReader sr = new StreamReader();
string buffer;
buffer = sr.ReadToEnd();
sr.Close();
結果出現OutOfMemoryException
如果我用以下的方式
string context = "";
while((buffer = sr.ReadLine) != null)
{
context += buffer;
}
這樣可行的通, 可是讀檔案要超久(約30 min)
想請問:
1. 檔案大小只有250MB < 記憶體大小 1GB 甚多, 為什麼還是會out of memory?
2. 有更有效率的方式解決這問題嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.235.41
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章