我制作了一个文本文件,然后用gzip. 然后我运行以下go程序来读取该压缩文件的内容。
package main
import (
"compress/gzip"
"fmt"
"os"
)
func main() {
handle, err := os.Open("zipfile.gz")
if err != nil {
fmt.Println("[ERROR] File Open:", err)
}
defer handle.Close()
zipReader, err := gzip.NewReader(handle)
if err != nil {
fmt.Println("[ERROR] New gzip reader:", err)
}
defer zipReader.Close()
var fileContents []byte
bytesRead, err := zipReader.Read(fileContents)
if err != nil {
fmt.Println("[ERROR] Reading gzip file:", err)
}
fmt.Println("[INFO] Number of bytes read from the file:", bytesRead)
fmt.Printf("[INFO] Uncompressed contents: '%s'\n", fileContents)
}
我得到的答复如下:
$ go run zipRead.go
[INFO] Number of bytes read from the file: 0
[INFO] Uncompressed contents: ''
为什么我没有从文件中获取任何内容?
我在 OS X 和 Ubuntu 上都创建了 zip 文件。我已经go在 OS X 和 Ubuntu 上构建了这个程序,结果相同。
相关分类