io.Reader
关于 zip 和/ 的问题io.Writer
。据我了解,io/Reader
/的目的之一io.Writer
是流式传输。但是,如果我的类型“作为块”没有真正意义,我应该实现其中之一吗?
更多细节:
可以说我有这个结构。
type MyZip struct { file1, file2 []byte }
MyZip
代表一个特定的结构化拉链。举例来说,它代表一个 zip 文件,其中包含一个名为 的文件file1
和一个名为 的文件file2
。MyZip
负责解析 zip 文件以将这两个文件提取到两个[]byte
字段中。它还应该以相反的方式处理(将这两个[]byte
字段转换为两个命名test1
并test2
存档到 zip 文件中的文件)。
据我了解,该包archive/zip
不允许将 zip 文件解压缩为流。我们必须将 zip 完全加载到内存中或作为文件加载,然后再解压缩。
MyZip
因此,为了完善我的问题,实现io.Reader
/io.Writer
来读取/写入最终的 zip 文件是否有意义?
如上所述,由于我无法即时提取这两个文件,因此我必须向该缓冲区添加某种缓冲区,MyZip
然后从该缓冲区读取/写入该缓冲区。因此 zip 无论如何都会在流式传输之前完全存储在内存中。io.Reader
这是不使用/ 的计数器指示吗io.Writer
?
非常感谢您的启发!
繁星coding
相关分类