【发布时间】:2019-03-06 18:21:57
【问题描述】:
我正在处理需要生成二进制编码(字节)文件的项目。问题是,我不想存储文件,只需要编码数据来验证一些测试数据。
这是我的示例代码zip file
以上示例适用于zip,但我不限于使用zip 或任何文件类型。在这里我们需要存储文件来读取,但我不想稍后存储和删除文件。
我知道寻求帮助的努力并不多,但作为一个新手,我只来了。
谢谢。
【问题讨论】:
-
不清楚你想创建什么以及你想如何使用它。通常,您可以只使用内存缓冲区,无论是简单的
[]byte还是实现io.Reader和io.Writer的bytes.Buffer,因此您可以像文件一样使用它来读写。 -
实际上我有像
test cases这样的场景,我需要一个虚拟的文件编码字节(但不想创建它)并且需要检查其他数据。否则我必须创建一个文件然后执行操作,但我没有确定的场景来删除它(虽然我不能保留它) -
您应该将用例更改为不依赖具体的
os.File类型,而是使用接口(@987654330@、io.Writer和类似的)。这样,无论您传递*bytes.Buffer还是*os.File,它都可以同时使用。 -
@icza 你想让我改变功能吗?将其视为测试用例,那么我们如何生成虚拟文件的字节数?