Re: [問題] 大型文字檔修改,怎樣才最快...(不限方法
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):