我負責閱讀大型文本文件(大約150 MB),解析它並在數據網格中顯示記錄。該文件由括號分隔。在.NET 3.5 c中處理大型文本文件#
我正在通過 - 在一個單獨的線程中完成 - 將整個文件讀入內存,將信息存儲在數據集中,然後將數據集綁定到位於原始線程中主窗體上的數據網格。
我有兩個問題/問題:
這是做的最好的方法是什麼?正在讀取一個150MB的文件到內存大嗎?做這類工作的最佳做法是什麼?
爲進程分配的內存量是巨大的..這是可以理解的,因爲我正在閱讀這樣一個大文件。但是,問題是它沒有被釋放。所以如果我想要處理兩個文件,越來越多的內存將被分配。直到某個時候,程序纔會崩潰。我猜數據集對象正在被一些阻止內存分配的東西引用......有沒有辦法確定這個對象是什麼?有沒有可用於此目的的工具或方法?
對此的任何幫助將不勝感激。我從來沒有在我的編碼生涯中不得不擔心內存管理。謝謝。
有一種Linq讀取線條方法,它懶惰地讀取文本行,您是否看過? – asawyer 2010-08-25 16:35:17
查看代碼來診斷第二個問題會很有幫助。 – 2010-08-25 16:36:04