压缩文件并发送它而不保存过程中的压缩文件

时间:2014-04-01 14:36:10

标签: java udp compression gzip

我想打开一个特定的文件并压缩它并通过UDP发送压缩结果的字节数组。

现在我检查了java zip API,但它只允许我将压缩文件保存到计算机并再次打开并发送它将是效率低下。

如果不编写我自己的压缩算法的实现,有没有办法做我需要的东西?

1 个答案:

答案 0 :(得分:1)

您无法将ZipOutputStream包裹在ByteArrayOutputStream附近并从ByteArrayOutputStream中获取字节数。 像这样:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(baos);
//write the entries
zos.close();
byte[] bytes = baos.toByteArray();