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 {  | 
查看评论