java - 压缩文件并发送,但在此过程中不保存压缩文件

标签 java udp compression gzip

我想打开一个特定文件并对其进行压缩,然后通过 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/

相关文章:

inno-setup - jre 1.6 inno中的检查和进度条

java - Vaadin框架播放视频

eclipse - 在其他软件中接收 Matlab/simulink UDP block

compression - 压缩后哪些文件不会减小其大小

java - 什么是好的 Java 压缩库?

c++ - INFLATE后如何获取原始文件扩展名?

java - 谷歌 i/o 应用程序 : where it sets toolbar_actionbar

java - 如何通过 lambda 表达式将 Collection<X> 转换为 Object[][]

java - 需要java中udp套接字编程的帮助

c - 如何了解 UDP 数据包在我的 ubuntu C 程序中被丢弃的位置