我想打开一个特定文件并对其进行压缩,然后通过 UDP 发送压缩结果的字节数组。
现在我检查了java zip API,但它只允许我将压缩文件保存到计算机上,然后再次打开它并发送它,效率很低。
有什么方法可以做我需要的事情而无需编写我自己的压缩算法的实现吗?
最佳答案
您可以将 ZipOutputStream
包裹在 ByteArrayOutputStream
周围,并从 ByteArrayOutputStream
中获取字节。
像这样的事情:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(baos);
//write the entries
zos.close();
byte[] bytes = baos.toByteArray();
关于java - 压缩文件并发送,但在此过程中不保存压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22789067/