讀檔時發生out of memory |
答題得分者是:jow
|
pgd
一般會員 發表:4 回覆:17 積分:9 註冊:2004-11-10 發送簡訊給我 |
|
christie
資深會員 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
//試試
TStrings *LoadData= new TStringList; TStrings *DelimDta= new TStringList; LoadData->LoadFromFile(FileName); DelimDta->Delimiter = ' '; DelimDta->DelimitedText = LoadData->Text;
------
What do we live for if not to make life less difficult for each other? |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
TStringLIst 內的 Item 數量是有限的..., 可是也夠大了
除非你的檔案真的是夠大了... >"< 你可以簡單描述你的檔案格式和檔案長度? 看看有沒有其他方式可以處理... ^_^ " 以下節錄自Class.pas { Maximum TList size } MaxListSize = Maxint div 16; { TStringList class } TStringList = class; PStringItem = ^TStringItem; TStringItem = record FString: string; FObject: TObject; end; PStringItemList = ^TStringItemList; TStringItemList = array[0..MaxListSize] of TStringItem; 因此一個TStringItem所佔的記憶體大約是: SizeOf(TStringItem) Length(FString) FObject.InstanceSize();
編輯記錄
jow 重新編輯於 2007-10-26 15:18:55, 註解 無‧
|
pgd
一般會員 發表:4 回覆:17 積分:9 註冊:2004-11-10 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
你可以將TXT檔轉換成Binary File, 再以TFileStream來處理,就不
必將整個檔案載入memory來處理了... 你先參考以下的篇幅, 看看是否有幫助... ^_^ http://delphi.ktop.com.tw/board.php?cid=168&fid=1499&tid=90919 http://delphi.ktop.com.tw/board.php?cid=168&fid=1499&tid=90956 ===================引 用 pgd 文 章=================== 大概有2000*50000個數字,TXT檔有一百多MB 是還滿大的。前輩有什麼好的建議嗎?
編輯記錄
jow 重新編輯於 2007-10-26 15:41:15, 註解 無‧
|
pgd
一般會員 發表:4 回覆:17 積分:9 註冊:2004-11-10 發送簡訊給我 |
jow大,我研究後,請問你的意思是我先把我的資料存成二值檔案,
再用你連結中所說的讀檔方式來讀檔嗎? ===================引 用 jow 文 章=================== 你可以將TXT檔轉換成Binary File, 再以TFileStream來處理,就不 必將整個檔案載入memory來處理了... 你先參考以下的篇幅, 看看是否有幫助... ^_^ http://delphi.ktop.com.tw/board.php?cid=168&fid=1499&tid=90919 http://delphi.ktop.com.tw/board.php?cid=168&fid=1499&tid=90956 ===================引 用 pgd 文 章=================== 大概有2000*50000個數字,TXT檔有一百多MB 是還滿大的。前輩有什麼好的建議嗎? |
pgd
一般會員 發表:4 回覆:17 積分:9 註冊:2004-11-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |