在查看zip以及unzip的时候,看到了这两个类(Deflater、Inflater),进行测试一下。
1、针对Deflater.java进行的编码:
输入:需要压缩的字节数组以及压缩等级;
输出:压缩后的字节数组。
final static public byte[] deflater(byte[] in, int level) {
byte[] out = new byte[1000];
Deflater de = new Deflater(level);
de.setInput(in);
de.finish();
int length = de.deflate(out);
byte[] filter = new byte[length];
System.arraycopy(out, 0, filter, 0, length);
return filter;
}
2、针对Inflater.java进行的编码:
输入:需要解压的字节数组;
输出:解压后的字节数组。
final static public byte[] inflater(byte[] in) {
Inflater decompresser = new Inflater();
decompresser.setInput(in, 0, in.length);
byte[] result = new byte[1000];
int length = 0;
byte[] filter = null;
try {
length = decompresser.inflate(result);
filter = new byte[length];
System.arraycopy(result, 0, filter, 0, length);
} catch (DataFormatException e) {
e.printStackTrace();
}
decompresser.end();
return filter;
}
OK,输入字节数组,可以看看压缩后的结果以及看能否正确解压。
注意:现在最大支持原始文件1000字节码的压缩,关键是改变代码中的new的那个字节数组大小。
分享到:
相关推荐
本文将深入探讨如何使用Java来处理ZIP文件,特别是针对标题所提及的“java 中 zip压缩文件解压工具类”。我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示...
尤其是在Windows系统下,文件名通常采用GB2312或GBK编码,而Java中的`ZipInputStream`和`ZipOutputStream`类默认使用的是Unicode编码,这种编码差异导致了中文文件名在压缩与解压过程中的乱码现象。 #### 二、解决...
通过对`ZipOutputStream`、`ZipEntry`等类的应用,以及递归算法的设计,我们可以轻松地实现对文件的压缩与解压操作。此外,通过合理的资源管理,我们还能确保程序的稳定性和高效性。这些技术点不仅适用于本示例中的...
在Java编程语言中,`zip`格式是一种常用的文件压缩方式,用于将多个文件打包成一个单一的可压缩文件。这个`Java zip 压缩/解压源码`的资源提供了一个简洁易用的API,使得开发者能够方便地对文件进行压缩和解压缩操作...
将文件打包成压缩文件,以及对压缩包的解压,方便好用。
GZ是一种常用的文件压缩格式,它利用了gzip程序进行压缩,而在Java中,我们可以使用`java.util.zip`包中的类来实现对GZ文件的压缩和解压缩操作。 在给出的代码中,有两个主要的方法:`testGzipOutput()`用于解压GZ...
在Java中,`GZIPOutputStream`和`GZIPInputStream`是两个关键的类,分别用于文件的压缩和解压缩操作。 ### GZIP压缩文件 压缩文件的基本步骤如下: 1. 创建一个`FileInputStream`对象,用于读取原始文件。 2. ...
本文将详细讲解如何使用Java来解压和压缩tar包,同时解决在处理中文文件名时可能出现的乱码问题,主要关注`javatar-2.5.jar`库中的功能以及`TarUtil.java`类的应用。 首先,`javatar-2.5.jar`是一个专门用于处理tar...
在Java编程环境中,处理文件压缩和解压任务是常见的需求,尤其在数据传输或存储时。ZIP文件格式因其广泛支持和高效性而被广泛应用。本文将深入探讨如何使用Java实现ZIP文件的压缩与解压,重点讲解核心API,如`java....
Java压缩及解压tar、tar.z格式文件, 需要apache的包ant-1.7.1.jar 这个自己去搜索下下载
java 文件zip 压缩与解压 可以直接调用
以上代码片段展示了如何利用Apache Commons IO库来处理中文乱码问题,使得在Java中进行ZIP文件的压缩和解压更加便捷和准确。在实际开发中,根据项目需求,可以选择使用标准库或者Apache Commons IO库,确保文件名和...
在Java中实现哈夫曼压缩和解压涉及到以下几个关键知识点: 1. **哈夫曼树**: 哈夫曼树(Huffman Tree)是一种带权路径长度最短的二叉树,也称为最优二叉树。它通过将频率较低的字符编码为较短的位序列,而频率较...
java rar解压工具类 // 第一个参数是需要解压的压缩包路径,第二个参数参考JdkAPI文档的RandomAccessFile //r代表以只读的方式打开文本,也就意味着不能用write来操作文件
这篇博客“java ftp上传 下载 文件压缩解压”很可能是关于如何使用Java实现FTP文件上传、下载以及文件的压缩与解压功能。下面我们将深入探讨这些知识点。 首先,FTP上传和下载是Java中常见的任务,通常通过`java...
JAVA压缩解压JAVA压缩解压JAVA压缩解压JAVA压缩解压JAVA压缩解压
在Java中,我们可以利用`java.util.zip`包提供的类来实现这一目标。`ZipOutputStream`用于创建ZIP文件,而`ZipInputStream`则用于读取和解压ZIP文件。为了添加密码保护,我们需要在创建`ZipOutputStream`时设置一个...
请注意,这些示例代码需要根据实际的jRar库API进行调整,因为这里给出的是基于另一个流行的Java压缩库Zip4j的伪代码。 在处理RAR文件时,还需要考虑一些边缘情况,例如密码保护的RAR文件、分卷RAR文件以及错误处理...
在Java中,我们可以使用`java.util.zip`包中的类,如`ZipOutputStream`和`ZipInputStream`来实现文件或目录的压缩与解压。下面将详细介绍这些知识点。 ### 1. `java.util.zip`包 这个包提供了处理多种压缩格式的类...
本文将深入探讨如何使用Java实现ZIP和RAR类型的压缩与解压操作,以及相关知识点。 首先,我们来看ZIP文件格式。ZIP是一种广泛使用的文件压缩格式,其在Java中的处理主要通过`java.util.zip`包。这个包提供了多个类...