我有一个大文本文件,我想分成任意数量的小文件。我需要的行为几乎与split
终端命令相同,只是我需要文件在其最后一行重叠。也就是说,第一个文件的最后一行是第二个文件的第一行,第二个文件的最后一行是第三个文件的第一行,等等。
天真的解决方案似乎从原始文本文件中读取行并在必要时拆分。我想知道是否有一个标准库函数可以让我处理字节而不是字符串来更容易地统一分割文本文件。
在Go中是否有类似于fseek
的内容可以让我这样做?
答案 0 :(得分:5)
例如,
func (f *File) Seek(offset int64, whence int) (ret int64, err error)
Seek
将文件中的下一个offset
或Read
的{{1}}设置为Write
, 根据{{1}}解释:0表示相对于原点 file,1表示相对于当前偏移量,2表示相对于 结束。它返回新的偏移量和错误(如果有的话)。