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

w1jd8yoj  于 8个月前  发布在  其他
关注(0)|答案(4)|浏览(88)

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

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

wvyml7n5

wvyml7n51#

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

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} }

这和阿斯克的回答几乎是一样的。

mcdcgff0

mcdcgff02#

这是我最后得到的:

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

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

zour9fqk

zour9fqk3#

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

vzgqcmou

vzgqcmou4#

def fruitString = '"banana","apple","orange"'

def fruitArray = fruitString .split(',').collect{it as String}

log.info(fruitArray[0]) //banana

println(fruitArray[1]) //apple

相关问题