登录
首页 >  Golang >  Go问答

获取文件大小的方法在Go中给定文件描述符

来源:stackoverflow

时间:2024-03-24 18:42:40 284浏览 收藏

在 Go 语言中,若已知文件路径,可通过 `file.stat().size()` 获取文件大小。然而,当仅有文件描述符 (fd) 时,需要采取其他方法。本文将介绍如何从 fd 获取文件大小,包括使用 `os.NewFile` 创建新的 `*os.File` 并使用 `seek` 函数,或直接使用 `file.Stat()` 方法。

问题内容

如果给定路径,我将使用它来获取文件大小

file, _ := os.open(path)
fi, _ := file.stat()
fsuze := fi.size()

但是如果给定fd,我怎样才能获得文件大小? go 中有没有像 c 中这样的方法:

lseek(fd, 0, SEEK_END)

解决方案


您可以使用 os.NewFile 函数从文件描述符创建一个新的 *os.file

您可以使用与 c 中完全相同的方式,使用 Seek

offset, err := f.seek(0, os.seek_end)

但是由于您已经有了 *os.file,因此您可以调用 stat,即使它是直接从文件描述符派生的。

尝试让文件开始

fileInfo, err := file.Stat()
if err != nil {...
}
files fileInfo.Size())

以上就是《获取文件大小的方法在Go中给定文件描述符》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>