Java:优化的文件读取方式,逐行验证该文件,然后将其拆分并写入较小的文件中。

时间:2018-10-16 15:40:12

标签: java

我试图使用Buffered Reader读取大约160 MB的文件,然后将每一行读入字符串并进行验证(检查每行中的第一个字符)。如果文件经过验证,则我将重新读取文件并根据该行中的地址拆分文件,并将其保存在地图中,因为多行可以转到同一地址。一旦读取了完整的文件,我就通过FTPS.String将它们写入。

文件格式 AJZ / AJJZ / AJJJZ的块
从A行中,我们必须提取地址,然后发送该块(AJZ),可以将一个块发送到多个地址,如果一个以上的块属于同一地址(例如,Address2),我们将合并这些块

AAddress1,Address2
J7777
Z02

A00Address2,Address3
JH77
Z00 ...

1 个答案:

答案 0 :(得分:1)

您可以使用Flyweight design pattern来压缩字符串。

例如,您只能将每个单词存储一次,并为原始文本中的每个单词使用唯一的占位符(一些整数)。这样,您最终会得到一系列占位符。