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) }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。