Re: [問題] 大型文字檔修改,怎樣才最快...(不限方法

看板java作者 (gy的ID,殺神的氣魄)時間14年前 (2011/10/27 11:34), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《love112302 (小黑炭)》之銘言: : 我有兩個文字檔案,長得非常類似 : A.txt : 01 02 03 04 05 06 : .... : B.txt : 01 02 03 : .... : 兩個檔案的筆數相同 : 莫約 700多萬行 : 現在想要將 B.txt 的 01欄 貼到 A.txt的 01欄 : 但是碰到瓶頸 orz.. : 現在想到的方法有兩個 : 1. : String = BufferedReader.readLine(); : 讀一筆 之後 split : 取代掉 [0] 位置之後 寫出去 : 產生新的 A.txt : 但是這樣執行效率非常緩慢... : 2. : 使用 ArrayList 將所有筆數塞進去 : 結果會 out of Memory... : 想知道有沒有甚麼辦法是最快的.... : 想好久想不出來 T^T 因為你的每筆資料長度一致, 我認為你因為用循序檔管理資料,所以速度會很慢。 試試看用隨機檔吧 比 較 項 目    循 序 檔          隨 機 檔  資料儲存方式     依存入的先後順序儲存    依紀錄編號順序儲存 資料儲存之型別    以字元型別儲存       可依照宣告的型別儲存 記錄長度       不固定長度         固定長度 讀取速度       逐項讀取,速度較慢     直接讀取,速度較快 磁碟空間的使用情形  較節省儲存空間       較浪費儲存空間 適用之作業      資料內容須全面異動之作業  僅異動特定資料內容之作業 至於用法參考 第7-5章 http://goo.gl/dg9O4 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.175.188

10/27 13:40, , 1F
感謝分享!!
10/27 13:40, 1F
文章代碼(AID): #1EgD5NiS (java)
文章代碼(AID): #1EgD5NiS (java)