我需要从文本文件中读取第N行,然后将该行分配给字符串。我已经有了N,我得到了一个循环。这需要是groovy:
伪代码
Def temp = readline(Linenumber);
答案 0 :(得分:2)
Groovy将readLines()
方法添加到java.io.File
对象,该对象返回文件内容的List
,每个列表条目一行。所以:
def lines = new File("myFile.txt").readLines()
def myLine = lines[N-1]
答案 1 :(得分:0)
如果您不想将整个文件读入内存,可以执行以下操作:
String readLineN( File f, int lineNo ) {
f.withReader { r ->
ret = ''
lineNo.times {
ret = r.readLine()
}
ret
}
}
readLineN( new File( 'path.to.file' ), 11 )
将返回文件中的第11行(如果文件少于11行,则返回null
)