golang 打包文件
发布时间:2020-12-16 18:29:54 所属栏目:大数据 来源:网络整理
导读:package mainimport ("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()// 返回
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) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |