我怎样才能阅读xz http://en.wikipedia.org/wiki/Xzgo 程序中的文件?当我尝试使用它们来阅读它们时lzma https://code.google.com/p/lzma/,我得到一个error in lzma header
error.
你有3个选择。
- 尝试另一个库,也许是使用 cgo 的库。我看到两个here http://godoc.org/?q=xz.
- 直接使用cgo/制作自己的lib。
- 使用 xz 可执行文件。
选项三比听起来更容易。这是我会使用的:
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 http://play.golang.org/p/SrgZiKdv9a
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)