在 Java 中一次读取两行文本文件的最佳方法是什么?
BufferedReader in;
String line;
while ((line = in.readLine() != null) {
processor.doStuffWith(line);
}
这就是我逐行处理文件的方式。 然而,在这种情况下,我想在每次迭代中向处理器发送两行文本。 (我正在处理的文本文件基本上将一条记录存储在两行中,因此我每次都向处理器发送一条记录。)
在 Java 中执行此操作的最佳方法是什么?
BufferedReader in;
String line;
while ((line = in.readLine() != null) {
processor.doStuffWith(line);
}
This is how I would process a file line-by-line. In this case, however, I want to send two lines of text to the processor in every iteration. (The text file I'm processing essentially stores one record on two lines, so I'm sending a single record to the processor each time.)
What's the best way of doing this in Java?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
为什么不只读两行呢?
这假设您可以依赖输入文件中包含完整的 2 行数据集。
Why not just read two lines?
This assumes that you can rely on having full 2-line data sets in your input file.
或者,如果您愿意,也可以将它们连接起来。
Or you could concatenate them if you wanted.
我会重构代码,使其看起来像这样:
当然,在这种情况下,您必须以某种方式将正确的记录读取器注入到此类中,但这不应该是问题。
RecordReader 的一种实现可能如下所示:
I would refactor code to look somehow like this:
Of course in that case you have to somehow inject correct record reader in to this class but that should not be a problem.
One implementation of the RecordReader could look like this: