我想在不执行任何文件 I/O 而是严格读取字节流的情况下执行 CPU 分析的重复压缩任务。我想在 Java 中做到这一点(我的基准测试的目标)。
有没有人建议如何做到这一点?我使用了使用 ZipEntry 但 ZipEntry 触发文件 I/O 的 Zip API。
非常感谢任何建议或代码示例。
我想在不执行任何文件 I/O 而是严格读取字节流的情况下执行 CPU 分析的重复压缩任务。我想在 Java 中做到这一点(我的基准测试的目标)。
有没有人建议如何做到这一点?我使用了使用 ZipEntry 但 ZipEntry 触发文件 I/O 的 Zip API。
非常感谢任何建议或代码示例。
我使用了使用 ZipEntry 但 ZipEntry 触发文件 I/O 的 Zip API。
ByteArrayOutputStream
如果您使用 a作为基础输出,我不会期望它:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zipStream = new ZipOutputStream(baos);
... write to zipStream ...
同样,包装您的字节数组以从ByteArrayInputStream
.
当然,ZipOutputStream
如果您想使用 zip 压缩格式创建内容是合适的,这对(或至少处理 :) 多个文件有好处。对于单个数据流,您可能希望使用DeflaterOutputStream
or GZIPOutputStream
,再次使用 aByteArrayOutputStream
作为基础输出。
您可以使用 ByteArrayInputStream 和 ByteArrayOutputStream,而不是使用 FileInputStream 或 FileOutputStream。