获取groovy中文件的最后一行

时间:2016-09-23 13:56:13

标签: groovy

Google在groovy中获取文件的最后一行没有给出任何好的结果,所以我觉得这个问题是必要的。

如何在groovy中获取文件的最后一行?

3 个答案:

答案 0 :(得分:1)

这是我最终的结果:

    new File("/home/user/somefile.txt").eachLine {
        lastLine = it
    }

.eachLine遍历文本文件的每一行,lastLine设置为当前迭代,直到eachLine完成整个文件。很简单。

答案 1 :(得分:1)

获取所有行,然后获取最后一行:

def lines=new File("/home/user/somefile.txt").readLines()
def lastline=lines.get(lines.size()-1)

或者,如果文件非常危险:

def last=new File('/home/user/somefile.txt').withReader {  r-> r.eachLine {it} }

这几乎与提问者的答案相同。

答案 2 :(得分:0)

  

如何在groovy中获取文件的最后一行?

这取决于您对该文件的了解。如果文件中的行是固定长度,那么您可以查看文件大小,将其除以每行的长度,然后使用随机文件访问跳转到文件中的最后一行并读取它。这比阅读整个文件更有效。如果您不知道行的长度,那么您可能必须阅读整个文件并在您阅读的最后一行之前丢弃所有内容。