【发布时间】:2010-11-08 22:59:35
【问题描述】:
给定一个不太长的字符串,逐行读取它的最佳方法是什么?
我知道你可以做到:
BufferedReader reader = new BufferedReader(new StringReader(<string>));
reader.readLine();
另一种方法是在 eol 上取子字符串:
final String eol = System.getProperty("line.separator");
output = output.substring(output.indexOf(eol + 1));
还有其他更简单的方法吗?我对上述方法没有任何问题,只是想知道你们中是否有人知道一些看起来更简单、更高效的方法?
【问题讨论】:
-
好吧,您的要求是“逐行读取”,这意味着您一次不需要内存中的所有行,因此我会坚持使用 BufferedReader 或 Scanner 方法,无论您感觉如何更舒服(不知道哪个更有效)。这样你的内存需求就会减少。它还允许您通过将来可能从文件中读取数据来“扩展”应用程序以使用更大的字符串。