2017-04-01 70 views
-3

我正在学习Go,我需要阅读文本文件中的最后一行。阅读文本文件中的最后一行

我到处搜索过,似乎没有关于如何做这件事的确切解释。

我该怎么做?

+2

这是任何语言的相同概念。你是否要求你通过行扫描文件? https://golang.org/pkg/bufio/#example_Scanner_lines – JimB

+0

@JimB这是正确的。你能否在Go中提供一个解释? – MaxCodes

+1

你有什么问题关于给出的例子或其他答案像https://stackoverflow.com/questions/8757389/reading-file-line-by-line-in-go/16615559#16615559? – JimB

回答

2

从文件的开头开始搜索可能是一个昂贵的选项。如果你的文件很大。

更好的选择可能是 - 使用os.Open打开文件和统计方法(https://golang.org/pkg/os/#File.Stat)以获取文件的大小。使用ReadAt从文件末尾开始读取(https://golang.org/pkg/os/#File.ReadAt - 先读取最后一个字节,然后读取最后一个字节..),一路反向,直到找到第二个换行符。这是最后一行的开始。希望这可以帮助。