似乎groovy有一个很好的闭包,它可以解决Java io的文件对象从数据文件中读取行(例如tab-delmited text)。
def inputFile = new File('me/documents/100reasonsIloveJenniferLawerence.txt');
inputFile.eachLine { rawLine ->
def line = rawLine.split('\t')
但是假设文件是'UTF-16LE'编码而且File构造函数不允许指定编码,所以我需要像这样使用BufferedReader ......
BufferedReader reader = new BufferedReader(
new InputStreamReader(new FileInputStream('me/documents/100reasonsIloveJenniferLawerence.txt'), "UTF-16LE"));
我仍然可以将eachLine与此BufferedReader一起使用吗?
答案 0 :(得分:2)
是
我认为你没有费心去尝试?
但是
reader.eachLine { line ->
println line
}
工作正常
或者你可以跳过所有这些,然后将charset传递给eachLine:
inputfile.eachLine('UTF-16LE') { line ->