是否可以在 golang 中提取 tar.xz 包?我的理解是可以将库用于 tar 并将其发送到 xz go 库。
3 回答
皈依舞
TA贡献1851条经验 获得超3个赞
Go 标准库中没有 Lempel-Ziv-Markow 编码器或解码器。如果允许您假设运行代码的平台提供了该xz实用程序,则可以使用如下存根函数:
import "os/exec"
// decompress xz compressed data stream r.
func UnxzReader(r io.Reader) (io.ReadCloser, error) {
unxz := exec.Command("xz", "-d")
unxz.Stdin = r
out, err := unxz.StdoutPipe()
if err != nil {
return nil, err
}
err = unxz.Start()
if err != nil {
return nil, err
}
// we are not interested in the exit status, but we should really collect
// that zombie process
go unxz.Wait()
return out, nil
}
- 3 回答
- 0 关注
- 370 浏览
添加回答
举报
0/150
提交
取消