有什么方法可以从文本文件中读取特定行?在API或Apache Commons中。就像是 :
String readLine(File file, int lineNumber)
我同意实现起来很简单,但是特别是当文件很大时,效率不是很高。
String line = FileUtils.readLines(file).get(lineNumber);
可以,但是仍然存在效率问题。
或者,您可以使用:
LineIterator it = IOUtils.lineIterator(
new BufferedReader(new FileReader("file.txt")));
for (int lineNumber = 0; it.hasNext(); lineNumber++) {
String line = (String) it.next();
if (lineNumber == expectedLineNumber) {
return line;
}
}
由于有缓冲,这将稍微更有效。
看一下Scanner.skip(..)
并尝试跳过整行(使用正则表达式)。我无法确定它是否会更有效-对其进行基准测试。
PS 代表效率,我的意思是记忆效率
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句