登录
首页 >  Golang >  Go问答

GoLang 中如何检查文件是否为 tar 文件?

来源:stackoverflow

时间:2024-03-17 12:27:25 396浏览 收藏

在 GoLang 中处理 tar 文件时,需要检查文件是否为有效的 tar 文件。虽然可以检查文件扩展名,但更可靠的方法是使用 archive/tar 包。该包提供了 tar.NewReader 函数,用于从 Reader 中读取 tar 文件。通过调用 tr.Next() 可以检查文件标头,如果标头有效,则文件为有效的 tar 文件。此操作的成本较低,因为只检查标头。

问题内容

我想在golang中实现一个程序来提取tar文件,但是在提取之前,我想检查该文件是否是tar文件。我不仅仅对检查文件扩展名感兴趣。在 shell 中,我可以使用以下命令来执行此操作:

file AFile.tar
AFile.tar: POSIX tar archive (GNU)

但是我应该在 golang 中做什么?


解决方案


我猜你可以使用 archive/tar 包。这是一个未经测试的示例:

tr := tar.NewReader(&buf)
hdr, err := tr.Next()
if err != nil {
  // not a tar file...
}

调用 tr.next() 应该很便宜,因为它只检查标头。对于有效的 tar 文件,标头将检查...

好了,本文到此结束,带大家了解了《GoLang 中如何检查文件是否为 tar 文件?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

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