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

reading large (450000+ chars) strings from file

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

我需要将其分成几行,每条指令一行。每条指令由一个五位代码分隔,其中代码包含下一条指令中的字符数。

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

关于处理这个问题有什么建议吗?缓冲的 reader 能否将其读入常规字符串?我做错了吗?

是的。使用缓冲 reader。

算出指令的最大大小并创建该大小的 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

你把它放在一个 while 循环中,该循环在文件结束时终止。

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