我们知道压缩文件中有第一个文件夹为原始文件夹:例如我们对一个目录名称为plug的文件夹进行压缩(plug文件夹下含有其他的文件夹和文件),那么压缩后的文件名称为plug.zip文件,压缩包中第一个文件夹的名称为plug,plug文件夹下才是我们需要的文件,而进行加压缩时,我们可能就不需要plug这个文件夹名称了,而是我们需要建立的文件夹名称例如为:pert文件夹,而pert文件中存放的是从plug文件夹下解压缩出来的文件。
/**
*
* 解压缩文件
* @param inFilePath:待压缩完的文件的路径
* @param inFileName:输入需要解压缩的文件的文件名
* @param outFilePath:输出解压缩完的文件的路径
* @return
*/
public boolean uncoilZIP(String inFilePath, String inFileName,String outFilePath) {
int BUFFER = 2048;
boolean flag = false;
BufferedOutputStream output = null;
BufferedInputStream input = null;
ZipInputStream zip = null;
ZipEntry entry = null;
try {
zip = new ZipInputStream(new FileInputStream(inFilePath + inFileName));
int i = 1;
int start = 0;
while ((entry=zip.getNextEntry())!=null) {
if(i==1){
if(entry.isDirectory()){
start = entry.getName().length();
}
}
if (entry.isDirectory()) {
new File(outFilePath + entry.getName().substring(start)).mkdirs();
i++;
continue;
}else{
new File(outFilePath).mkdirs();
i++;
}
int count;
byte data[] = new byte[BUFFER];
FileOutputStream fos = new FileOutputStream(outFilePath + entry.getName().substring(start));
while ((count = zip.read(data, 0, BUFFER)) != -1) {
fos.write(data, 0, count);
}
fos.flush();
}
flag = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (output != null) {
output.close();
}
if (input != null) {
input.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return flag;
}
public static void main(String[] arg) {
new UtilZIP().uncoilZIP("D:\\", "ww.zip", "D:\\outzip\\");
}
分享到:
相关推荐
以下是一个基本的Java代码示例,演示如何解压缩ZIP文件: ```java import java.io.*; import java.util.zip.*; public class UnzipExample { public static void unzip(String zipFilePath, String destDirectory...
这个文件包含了 Apache POI 的二进制库,包含 jar 包,可供 Eclipse 或其他 Java 开发环境直接导入使用。在 Eclipse 中,你可以将此 jar 包添加到项目的类路径中,以便能够使用 POI 提供的各种 API 来操作 Excel ...
我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示如何实现文件的解压缩功能。 首先,`java.util.zip`包提供了几个关键类,用于处理各种压缩格式,如`...
最后,`生成zip包代码.txt`和`解压缩zip包.txt`文件可能包含了具体的实现代码,而`需要用的jar包`可能是指在某些情况下,如使用第三方库时,可能需要引入额外的依赖项。例如,如果使用了Apache Commons Compress库,...
1. **解压JAR文件**:使用解压缩工具(如WinRAR、7-Zip或命令行的jar命令)将JAR文件解开到一个临时目录。例如,可以使用`jar xf jar-file-name.jar`命令解压。 2. **找到并修改class文件**:在解压后的目录中找到...
在Java标准库中,`java.util.zip`包提供了对ZIP格式文件的支持,包括压缩和解压缩的功能。然而,这个包在处理包含中文文件名的ZIP文件时存在一些问题,可能会导致乱码或无法正确读取。 `java.util.zip`包中的`...
测试可能包括创建ZIP文件并检查其完整性,解压缩ZIP文件并比较解压后的文件与原始文件的一致性等。测试对于确保压缩和解压缩过程的正确性至关重要。 在Java中,处理ZIP文件的另一种方式是使用`java.nio.file`包中的...
2. **jar包的结构**:一个jar包的基本结构包括一个`META-INF`目录,其中通常包含`MANIFEST.MF`文件,这个文件记录了jar包的基本信息,如主类(Main-Class)、版本和作者等。其他目录和文件则对应于jar包内的类和资源...
8. **解压缩和解密**:解压ZIP文件时,需要使用相同的AES密钥解密提取出的字节数组,然后将其保存为CSV文件。这个过程需要逆序执行加密步骤,即先使用`Cipher`的`init`方法设置解密模式,再调用`doFinal`解密。 9. ...
`Java获取ipa_apk文件信息jar包.rar`这个压缩文件似乎提供了一个Java库,帮助开发者提取这两种类型的应用包的信息。下面将详细介绍如何使用Java来获取`.ipa`和`.apk`文件的相关信息,以及可能涉及到的技术点。 1. *...
总之,解压`jar`和`zip`文件主要涉及`jar`命令行工具或`java.util.zip`包中的类。处理中文文件名时,确保使用支持UTF-8编码的工具或正确设置编码参数是关键。无论是在命令行还是编程环境中,遵循这些步骤都可以有效...
这个示例展示了如何使用Apache Commons Compress库进行.zip文件的解压缩和压缩操作。请注意,对于.rar和.7z文件,你需要根据具体库的文档进行相应调整。 总的来说,Java处理.zip、.rar和.7z文件时,需依赖第三方库...
例如,Java中有一个名为Apache Commons Compress的库(如文件`commons-compress-1.5.jar`),它提供了处理多种压缩格式的API,包括ZIP。`ZipEntry`是Java的内置类,代表ZIP文件中的一个条目,用于读写ZIP文件。 5. ...
【标题】"Idea中文汉化JAR包.zip"是一个专门为IntelliJ IDEA(简称Idea)提供的中文语言包,这个压缩文件包含了让这款流行的Java集成开发环境支持中文显示的所有必要资源。 【描述】提到的"Idea中文汉化包"是为了...
本文将深入探讨如何使用Java实现RAR压缩和解压,以及如何利用提供的jar包(java-unrar-0.3.jar和ant.jar)进行操作,并结合`DeCompressUtil.java`提供的示例代码来理解其实现。 首先,`java-unrar-0.3.jar`是一个...
以上代码展示了Java中压缩和解压缩ZIP、JAR、GZIP文件的基本方法。在实际应用中,可能需要根据具体需求进行调整,如处理异常、优化性能或增加更多的功能,如加密、校验等。同时,确保正确关闭流以避免资源泄漏。
2. 使用`ZipInputStream`和`ZipEntry`读取并解压缩ZIP档案,从JAR中提取文件。 3. 文件和目录的路径处理,确保正确地添加到JAR中。 4. 对于JAR特有的元数据,如MANIFEST.MF文件的处理,可能涉及到`java.util.jar....