[問題] 請問關於讀很大的文字檔

看板C_Sharp (C#)作者 (hmmm)時間20年前 (2004/11/15 17:25), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
我有一個大約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
文章代碼(AID): #11c7NoGZ (C_Sharp)
文章代碼(AID): #11c7NoGZ (C_Sharp)