archive/zip
压缩解压,go的标准库
解压
使用reader,err := zip.OpenReader(path)
打开压缩包,之后遍历_, file := range reader.File
,就可以正常使用文件句柄file。如果需要解压文件出来,就新建文件后复制过去。
压缩
首先新建空文件,用zipWriter, err := zip.NewWriter(path)
方法打开。对需要压缩的文件,打开后用info, err := file.Stat()
方法获取文件信息,header, err := zip.FileInfoHeader(info)
方法转换成文件头,fileWriter, err := zipWriter.CreateWriter(header)
方法转换成压缩包内的写入接口,最后io.Copy(fileWriter, file)
复制文件进去。