首页 > 解决方案 > 如何获取文件的当前位置

问题描述

我正在逐部分阅读文件并想打印文件位置(字节位置)。示例代码片段:

inFile *os.File
inFile, err := os.Open(myfile)
size := make([]byte, some_size)
content_size, err := inFile.Read(size)

现在这是在具有各种缓冲区大小的循环中完成的。那么我是否必须维护一个变量,我将在其中将作为读取返回数据获得的内容大小相加?

相反,在所有读取操作完成后,我可以获得文件指针的位置(字节)吗?如何获取文件的当前位置?

标签: filego

解决方案


函数File.Seek返回文件中的结果偏移量。要获取当前偏移量,请从当前位置寻找零字节:

 offset, err := f.Seek(0, os.SEEK_CUR)

推荐阅读