一時的なgzipファイルを作成してファイルに書き込もうとしています。問題は、私がReadAllで何が起こっているのか理解していないことです。私は、ReadAllがファイルに書き込まれたバイトを返すと期待していましたが、何もありません。しかし、File.Statコマンドは実際にデータがあることを示しています。ここで ファイルからのReadAllが期待通りに動作しない
filename := "test"
file, err := ioutil.TempFile("", filename)
if err != nil {
fmt.Println(err)
}
defer func() {
if err := os.Remove(file.Name()); err != nil {
fmt.Println(err)
}
}()
w := gzip.NewWriter(file)
_, err = w.Write([]byte("hell0"))
if err != nil {
fmt.Println(err)
}
fileInfo, err := file.Stat()
if err != nil {
fmt.Println(err)
}
fileBytes, err := ioutil.ReadAll(file)
if err != nil {
fmt.Println(err)
}
if err := w.Close(); err != nil {
fmt.Println(err)
}
fmt.Println("SIZE1:", fileInfo.Size())
fmt.Println("SIZE2:", len(fileBytes))
は遊び場リンク
https://play.golang.org/p/zX8TSCAbRL
なぜノー返されたバイトがあるのですか? 返されるバイトを取得するにはどうすればよいですか?