前端之家收集整理的这篇文章主要介绍了
golang 打包文件,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
package main
import (
"archive/tar"
"io"
"os"
"fmt"
)
func main() {
// 创建一个tar文件
f,err := os.Create("test.tar")
if err != nil {
panic(err.Error())
}
defer f.Close()
// 创建一个新的tar.Writer,向w中写入
tw := tar.NewWriter(f)
defer tw.Close()
// 返回一个文件的os.Fileinfo
fileinfo,err := os.Stat("test.go")
if err != nil {
panic(err.Error())
}
// 利用fileinfo创建一个Header(Header代表tar档案文件里的单个头)
hdr,err := tar.FileInfoHeader(fileinfo,"")
if err != nil {
fmt.Println(err)
}
// 写入一个文件头
err = tw.WriteHeader(hdr)
if err != nil {
fmt.Println(err)
}
// 打开文件
f1,err := os.Open("test.go")
if err != nil {
panic(err.Error())
}
// 将内容copy进入tar.Writer
m,_ := io.Copy(tw,f1)
fmt.Println(m)
}
原文链接:https://www.f2er.com/go/189595.html