如何在go程序中读取xz文件?当我尝试使用阅读它们时lzma,出现error in lzma header错误。
lzma
error in lzma header
您有3个选择。
选项三比听起来容易。这是我会用的:
func xzReader(r io.Reader) io.ReadCloser { rpipe, wpipe := io.Pipe() cmd := exec.Command("xz", "--decompress", "--stdout") cmd.Stdin = r cmd.Stdout = wpipe go func() { err := cmd.Run() wpipe.CloseWithError(err) }() return rpipe }
此处可运行的代码:http : //play.golang.org/p/SrgZiKdv9a