【发布时间】:2020-03-19 19:58:45
【问题描述】:
我需要创建一个测试,我需要在其中传递 InputStream 作为输入,这将是一个 zip 文件。有没有办法我们可以直接创建InputStream,而不是在内存/本地文件副本中创建,以便可以使用流进行测试。
【问题讨论】:
-
您在寻找
ByteArrayInputStream吗? -
感谢 slaw 的回复。 bytearrayinputstream 也应该有帮助。有没有一种方法可以在没有内存文件的情况下使用 bytearrayInputStream 创建一个临时 zipfile?
-
使用 ZipOutputStream() 写入 ByteArraoyOutputSream。然后,您可以从 ByteArrayOutputStream 中获取字节数组并创建一个 ByteArrayInputStream。您可以使用 ZipInputStream 从此流中读取数据。
-
我的问题是.. 有没有一种方法可以在不创建文件的情况下创建 zipInputStream/InputStream/FileInputStream ? new ZipInputStream(theFile) 这是我们创建 ZipInputStream 所需的方式,但如果您可以帮助我提供一些示例代码或任何已经可用的实用程序都会有所帮助。感谢回复
-
我的要求是,有一个 Junit,我需要在其中调用一个将 Zip 文件作为 Input 的 rest API。所以我想用一些在 test 中硬编码的虚拟数据来创建这个 Zip 文件。所以为此我想创建 InputStream 并通过 rest api 发送它来验证我的测试 如果有办法,则创建 ondisk zipfile。
标签: java inputstream fileinputstream