作者love112302 (小黑炭)
看板java
標題[問題] 大型文字檔修改,怎樣才最快...(不限方法
時間Tue Oct 4 15:23:31 2011
我有兩個文字檔案,長得非常類似
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
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.124.61.39
※ 編輯: love112302 來自: 140.124.61.39 (10/04 15:24)
1F:推 PsMonkey:怎麼辦... 我會想塞資料庫...... [核爆] 10/04 15:29
2F:→ love112302:有趣的想法 @@@@@ 可以來試試看 感覺會很快 10/04 15:41
3F:推 chchwy:Split()非常的慢,只換01行的話應該可以有其他方法 10/04 15:44
4F:→ love112302:to PsMonkey 可是我有很多個檔案 這樣我就要自己匯入? 10/04 15:49
5F:推 PsMonkey:都 split 了,多塞個資料庫而已,多個檔案就多個 table 10/04 16:23
6F:→ PsMonkey:另外記得,幾十筆再 execute() 一次,效率快上好幾倍 10/04 16:24
7F:→ janyfor:都想嘗試資料庫了...你何不直接用 excel... 10/04 23:07
8F:→ sbrhsieh:印象中 Excel 碰到 10 萬列等級的量的數據就處理不來了~ 10/04 23:13
9F:→ janyfor:嗯~他只給我一百萬多一點的數量 =__= 10/04 23:36
10F:推 PsMonkey:Excel 不是只能 65535 個 row 10/05 10:16
11F:→ jackcomtw:問:每筆資料都是固定長度嗎? 10/06 12:17
每一筆資料長度都是固定的
但是每一個檔案的筆數不一樣 Q_Q
同樣檔案名稱的兩個檔案筆數會一樣
※ 編輯: love112302 來自: 140.124.61.39 (10/08 17:31)
12F:推 gmoz:裝hadoop寫map/reduce (誤 10/30 09:52