archive/tar文件压缩
十月 20, 2024
简介
archive/tar
是 Go 语言标准库提供的一个包,用于创建、读取和操作 Tar 格式的归档文件。Tar 是一种常见的文件归档格式,通常用于在 Unix 系统中创建备份或将多个文件和目录打包成单个文件。archive/tar
包使得在 Go 语言中处理 Tar 归档文件变得非常简单和方便。
快速使用
- 压缩
- gzip.NewWriter(targetFile) 创建 gzip 写入器
- tar.NewWriter(gzipWriter) 创建 tar 写入器
- filepath.Walk(src, func(path string, info os.FileInfo, err error) error {} 遍历源文件夹下的所有文件和子文件夹
- tar.FileInfoHeader(info, “”) 创建 tar 记录
- filepath.Rel(src, path) 更新 tar 记录的名称
- tarWriter.WriteHeader(tarHeader) 写入 tar 记录
- io.Copy(tarWriter, file) 如果是文件,则将文件内容写入 tar 文件
1 | func TarGz(dst string, src string) error { |
- 解压缩
- gzip.NewReader(file) 创建 gzip 读取器
- tar.NewReader(gzipReader) 创建 tar 读取器
- tarReader.Next() 解压缩文件
- header.Typeflag 根据文件类型执行不同的操作
1 | func UnTarGz(src string, dest string) error { |
查看评论