我编写了一个常规脚本来逐行读取一个巨大的文件。
我目前使用的样板代码如下
File hugeFile = new File(filePath)
if (hugeFile.exists()) {
hugeFile.eachLine {line ->
//some process
}
}
我的问题是如何确定“eachLine”是否使用 BufferedReader 来提高内存效率?
最佳答案
尝试一下它是否可以处理大文件。
并检查 source at github :
public static <T> T eachLine(Reader self, int firstLine, @ClosureParams(value=FromString.class,options={"String","String,Integer"}) Closure<T> closure) throws IOException {
BufferedReader br;
int count = firstLine;
T result = null;
if (self instanceof BufferedReader)
br = (BufferedReader) self;
else
br = new BufferedReader(self);
...
}
关于Groovy逐行读取文件,eachLine方法使用BufferedReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34002424/