30 lines
574 B
Go
30 lines
574 B
Go
package main
|
|
|
|
import (
|
|
// ...
|
|
"archive/tar"
|
|
"compress/gzip" // 这里导入 compress/gzip 包
|
|
"os"
|
|
// ...
|
|
)
|
|
|
|
func Tar(src string, dstTar string, failIfExist bool) (err error) {
|
|
// ...
|
|
fw, er := os.Create(dstTar)
|
|
// ...
|
|
gw := gzip.NewWriter(fw) // 这里添加一个 gzip.Writer
|
|
// ...
|
|
tw := tar.NewWriter(gw) // 这里传入 gw
|
|
// ...
|
|
}
|
|
|
|
func UnTar(srcTar string, dstDir string) (err error) {
|
|
// ...
|
|
fr, er := os.Open(srcTar)
|
|
// ...
|
|
gr, er := gzip.NewReader(fr) // 这里添加一个 gzip.Reader
|
|
// ...
|
|
tr := tar.NewReader(gr) // 这里传入 gr
|
|
// ...
|
|
}
|