看板 C_Sharp 關於我們 聯絡資訊
我有一個大約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