以[]字节读取目录而不压缩它

时间:2018-04-14 23:15:17

标签: arrays go directory zip grpc

我正在试验grpc,用于将大型文件和目录从服务器传输到客户端。当我传输目录时,我使用zip包创建一个zip编写器来创建目录的存档,然后使用grpc传输。

zipfile, err := os.Create(target)
zip.NewWriter(zipfile)

这有效,但我想知道是否有任何方便的方法将目录及其内容(文件和子目录)读入[]字节数组以便通过wrire进行传输。

1 个答案:

答案 0 :(得分:2)

您可以自由使用任何实现io.Writer界面的内容作为您的zip存档的目的地zip.NewWriter

如果您希望将其存储到字节切片中并且事先不知道它的大小,我建议您使用bytes.Buffer作为目的地:

buffer := &bytes.Buffer{}
zip.NewWriter(buffer)
... do anything you need
resultBytesSlice := buffer.Bytes()