从文件中读取大(450000+个字符串)字符串

Eri*_*vik 9 java string large-data

所以,我正在处理集成遗留系统.它生成一个大文本文件,用一个大字符串打印指令.真的很大的字符串.我们说的是450,000个字符或更多.

我需要将其分解为一行,每条指令一行.每条指令由五位数代码分隔,其中代码包含下一条指令中的字符数.

我的解决方案是编写一个小型java程序,该程序使用缓冲读取器将文件读入字符串,然后将其拆分为行,并保存到新文件中.

处理此事的任何建议?缓冲读者是否能够将其读入常规字符串?我这样做错了吗?

Ash*_*eze 3

是的。使用缓冲阅读器。

计算出指令的最大大小并创建该大小的 char[]。然后做类似的事情:

 reader.read(charArray, 0, 5);

 // parse the header

 reader.read(charArray, 0, lengthOfInstruction);

 String instruction = new String(charArray, 0, lengthOfInstruction);

 // do stuff with the instruction
Run Code Online (Sandbox Code Playgroud)

您将其放入 while 循环中,该循环在文件结束时终止。

这可能不是运行时效率最高的,但它可能足够好并且足够简单,可以开始工作。