java如何高效处理文件操作?
现在遇到个java操作文件的问题,但是自己的解决方式效率不是很高,拿出来看看大家有没有好的处理方法。
现在我有两个文件,文件A,结构是"ID\tSOME_VALUE_1",还有个文件B,结构是"ID\tSOME_VALUE_2\TSOME_VALUE_3...\tSOME_VALUE_N"。简单说,文件A每行有两个值,一个ID,一个SOME_VALUE_1。文件B每行有多个值,ID,以及其他字段值,所有值都是int。
现在文件A和文件B的行数都是亿级的。想要把A和B都拼接成一个文件,含有文件A和文件B的所有字段。
我的处理是进行文件分割,按照一定的记录数,比如5千万记录为一个文件,分别切割成多个文件,然后每次取一块A文件和一块B文件进行拼接,得到最终文件。可是感觉效率不是很高,全部处理需要一个小时左右。
不知道大家有什么想法。不要说导入数据库,做表连接,那样效率很低。