Groovy逐行读取文件,eachLine方法使用BufferedReader
我已经编写了一个groovy脚本来逐行读取一个巨大的文件 我目前使用的样板代码如下Groovy逐行读取文件,eachLine方法使用BufferedReader,groovy,Groovy,我已经编写了一个groovy脚本来逐行读取一个巨大的文件 我目前使用的样板代码如下 File hugeFile = new File(filePath) if (hugeFile.exists()) { hugeFile.eachLine {line -> //some process } } 我的问题是如何确定“eachLine”是否使用了BufferedReader来提高内存效率?试一试,看看它是否可以处理大文件 并检查: public static
File hugeFile = new File(filePath)
if (hugeFile.exists()) {
hugeFile.eachLine {line ->
//some process
}
}
我的问题是如何确定“eachLine”是否使用了BufferedReader来提高内存效率?试一试,看看它是否可以处理大文件 并检查:
public static T eachLine(Reader self,int firstLine,@ClosureParams(value=FromString.class,options={“String”,“String,Integer”})闭包)引发IOException{
缓冲剂;
整数计数=第一行;
T结果=null;
if(BufferedReader的自实例)
br=(BufferedReader)self;
其他的
br=新的BufferedReader(自身);
...
}
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);
...
}