修改大文件I有一個文件閱讀比較和用java
base.txt
5071111111
5071111112
5071111113
5071111114
..... around 15 lakh numbers
和另一個文件
status.txt
5071111112,sended
5071111113,failed
.....
實際的情況是,我有基本文件包含移動電話號碼,用於發送消息和其他文件 包含存儲在status.txt中的每個號碼的消息狀態。
現在我的任務就是合併兩個文件,並保持普通文件一樣
merged.txt
5071111111
5071111112,sended
5071111113,failed
5071111114
....... and so on
我想通常的解決辦法採取一個數量從status.txt中即「5071111112,sended」,並比較base.txt 和如果未找到號碼,則將該號碼複製到merged.txt中,如果找到號碼,則將該號碼的更新後的內容複製到merged.txt中。
現在merged.txt將作爲我的基礎文件。
此外,status.txt文件定期進入,所以比較和創建新的merging.txt文件以及刪除以前的文件並重新命名新文件的過程依此類推。
我也嘗試過的RandomAccessFile類,但我面對數據截斷問題的相似之處在於這裏所描述的問題, link
我讀張貼#2,但許多人都建議我上面提到的方式幾個答案。 我們有其他解決方案嗎?
數字是否保證在文件中排序? (因爲他們中的例子) – FDinoff 2013-05-03 16:49:02
對於我們這些南亞之外,一個「十萬」根據http://en.wikipedia.org/wiki/Lakh是十萬(100,000)。 – rgettman 2013-05-03 16:50:40
不,它不會被排序,因爲號碼的狀態不會發生。 base.txt文件,我們可以對它進行排序,但status.txt文件來以任意順序,也有像行大數據「5071111112,提交PLAYER1,player2,失敗,正在重試...」 – Jayesh 2013-05-03 16:53:30