我想打开一个特定的文件并压缩它并通过UDP发送压缩结果的字节数组。
现在我检查了java zip API,但它只允许我将压缩文件保存到计算机并再次打开并发送它将是效率低下。
如果不编写我自己的压缩算法的实现,有没有办法做我需要的东西?
答案 0 :(得分:1)
您无法将ZipOutputStream
包裹在ByteArrayOutputStream
附近并从ByteArrayOutputStream
中获取字节数。
像这样:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(baos);
//write the entries
zos.close();
byte[] bytes = baos.toByteArray();