我有以下代码片段:
func main() {
// Some text we want to compress.
original := "bird and frog"
// Open a file for writing.
f, _ := os.Create("C:\\programs\\file.gz")
// Create gzip writer.
w := gzip.NewWriter(f)
// Write bytes in compressed form to the file.
while ( looping over database cursor) {
w.Write([]byte(/* the row from the database as obtained from cursor */))
}
// Close the file.
w.Close()
fmt.Println("DONE")
}
但是,我想知道一个小的修改。当文件的大小达到某个阈值时,我想关闭它并打开一个新文件。这也是压缩格式。
例如:
假设一个数据库有 10 行,每行 50 字节。
假设压缩因子为2,即1行50字节压缩为25字节。
假设文件大小限制为 50 字节。
这意味着在每 2 条记录之后我应该关闭文件并打开一个新文件。
如何在文件仍然打开并向其写入压缩文件时跟踪文件大小?
千巷猫影
相关分类