我们有两种类型的文件
单个大型文件,其中包含一些预订代码的记录 - 此文件大小约为20 MB
AMMA-08 / 17/2017 12:02:06-EZZE20170819010101
AMMA-08 / 17/2017 12:02:06-EZZE20170819020202
多个文件的集合,其中包含如下记录 - 此文件将有大约20K-30K记录
000003 | EZZE20170819010101 | 16082017 |你好迈克尔
000003 | EZZE20170819070707 | 16082017 | Hello Jackson
我必须在单独的文件中列出不匹配的记录(EZZE20170819020202和EZZE20170819070707)。
文件大小很大,我需要拆分每条记录以获得与其他文件中的CODE匹配的CODE,我担心性能和CPU利用率。
是否存在提供类似功能的策略或任何现有库(使用Java或任何其他技术)?
答案 0 :(得分:0)
如果你使用一个体积适中的缓冲区(我至少使用1-20 MB来确保HD主要进行连续读写),那么不应该有任何内存问题。
如果您同时拥有两个以上的文件,则必须使用线程来减少时间。
如果速度有问题,你也可以查看java.nio包 - 它会比java.io库更快。 您可以查看网站https://dzone.com/articles/java-sequential-io-performance