golang 打包文件

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Go相关文章