修改大文件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