java - 在java中压缩整数数组

标签 java compression

我有一些非常大的整数数组,我想压缩它们。
然而,在java中做到这一点的方法是使用类似这样的东西 -

int[] myIntArray;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new DeflaterOutputStream(byteArrayOutputStream));
objectOutputStream.writeObject(myIntArray);

注意,int数组首先需要通过java转换为bytes。 现在我知道这很快,但它仍然需要创建一个全新的字节数组并扫描整个原始 int 数组,将其转换为字节并将值复制到新的字节数组。

有什么方法可以跳过字节转换并使其立即压缩整数吗?

最佳答案

跳过ObjectOutputStream,直接将int存储为每个字节。例如,DataOutputStream.writeInt 就是一种简单的方法。

关于java - 在java中压缩整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1081063/

相关文章:

java - Java DatagramSocket 向 255.255.255.255 发送数据包失败

compression - Sass 中的硬评论后换行

java - 在 JUnit 4 中重用测试实现?

java - Hibernate选择子对象进入界面

asp.net - 什么是最好的 HTML+CSS 压缩方法?

Hadoop - 解压缩的 zip 文件

javascript - 如何在 Web 服务器上设置 gzip 压缩?

java - 在 Java 中压缩字节数组并在 C 中解压缩

java - 声明和分配大量 TextView 的最佳实践是什么

Java将字符串拆分为数组