想用java自带的解压包来解压文件,可惜不支持中文,在网上找了一个解决方案:
http://zwllxs.iteye.com/blog/871260
学习了,然后总结了一下,代码在附件
/**
* 解压文件
* @param srcFile 源压缩文件
* @param desDir 解压的目标路径
* @throws Exception
*/
public void unZip(String srcFile, String desDir) throws Exception {
ZipInputStream zis = new ZipInputStream(new FileInputStream(srcFile));
ZipEntry ze;
byte buffer[] = new byte[1024];
while ((ze = zis.getNextEntry()) != null) {
String zName = ze.getName();
System.out.println("\n unziping " + zName);
// 不要压缩文件中的根目录
zName = zName.substring(zName.indexOf("/") + 1);
if (ze.isDirectory()) {
File dirFile = new File(desDir + zName);
dirFile.mkdir();
System.out.println("mkdir : " + dirFile);
} else {
File file = new File(desDir + zName);
if (!file.getParentFile().exists()) {
System.out.println("父目录不存在,创建");
file.getParentFile().mkdirs();
}
// file.createNewFile();
System.out.println("file : " + file);
FileOutputStream out = new FileOutputStream(file);
int length;
while ((length = zis.read(buffer)) != -1){
out.write(buffer, 0, length);
}
out.close();
}
zis.closeEntry();
}
zis.close();
}
分享到:
相关推荐
`java.util.zip`库是Java标准库的一部分,提供了对ZIP文件的支持,但是默认可能不支持中文文件名的正确解压。本篇文章将详细讲解如何在Java中处理包含中文文件名的ZIP压缩包,并使用Apache Ant工具(ant.jar)来辅助...
Java解压RAR文件,压缩包内包含源码、Jar包、依赖包和示例程序,也可以从http://code.google.com/p/java-unrar/downloads/list这里下载支持密码的unrar项目(包括源码和jar包),其依赖包也很容易搜到。 RAR 密码
### JAVA解压ZIP多层目录文件(需ant.jar) #### 概述 本文将详细介绍一个Java方法,该方法用于解压包含多层目录结构的ZIP文件,并能够支持中文文件名。这种方法利用了Apache Ant库中的`org.apache.tools.zip....
本文将详细讲解如何使用Java来解压和压缩tar包,同时解决在处理中文文件名时可能出现的乱码问题,主要关注`javatar-2.5.jar`库中的功能以及`TarUtil.java`类的应用。 首先,`javatar-2.5.jar`是一个专门用于处理tar...
在Java编程环境中,解压不同类型的压缩文件,如RAR5、Zip和7z,是一项常见的任务。为了实现这一功能,我们需要使用特定的库,因为Java标准库并不直接支持RAR5和7z格式。这里我们将详细探讨如何使用Java来处理这些...
本篇文章将详细探讨如何解决Java解压ZIP文件时遇到的中文名称问题。 首先,我们需要了解ZIP文件的编码标准。ZIP文件的标准编码是UTF-8,但并非所有创建ZIP文件的工具都遵循这个标准,有的可能使用GBK或其他编码。...
沙漏哦2022-09-16 16:00:57原证Java解压缩文件,尤其对于Rar5.0版本的解压实现 项目描述 junrar已经不再支持Rar5版本的压缩文件。sevenzipjbinding对于Rar5压缩包的解压是调用本地7z软件进行解压的,如果本机环境...
### Java中压缩与解压——中文文件名乱码解决办法 #### 一、问题背景及原理分析 在Java中处理文件的压缩与解压时,经常会遇到中文文件名出现乱码的问题。这个问题主要源于Java中默认使用的编码方式与实际文件名...
在Java编程环境中,批量解压带密码的RAR或ZIP文件是一项常见的任务,特别是在软件开发过程中,可能需要处理包含源码和库文件的压缩包。本文将深入探讨如何使用Java实现这个功能,以及涉及的相关知识点。 首先,解压...
Java解压RAR文件,压缩包内包含源码、Jar包、依赖包和示例程序,也可以从http://code.google.com/p/java-unrar/downloads/list这里下载支持密码的unrar项目(包括源码和jar包),其依赖包也很容易搜到。
对于Java 7解压版,用户只需将压缩包解压到指定位置,然后设置环境变量`JAVA_HOME`指向JDK的安装目录,`PATH`添加`%JAVA_HOME%\bin`,确保系统可以在任何位置执行Java命令。 5. **使用注意事项** - 避免与其他...
本文将深入探讨如何使用Java实现ZIP和RAR类型的压缩与解压操作,以及相关知识点。 首先,我们来看ZIP文件格式。ZIP是一种广泛使用的文件压缩格式,其在Java中的处理主要通过`java.util.zip`包。这个包提供了多个类...
在使用Java对ZIP压缩文件进行解压的方式中有两种,一种是使用apache提供的ant.jar工具包,但是如果ZIP文件中含有中文名称的文件,在解压后,文件名将出现乱码,另一种是使用Java自身JDK中java.util.zip包下工具类,...
在Java中,处理.zip、.rar和.7z等压缩格式通常需要借助第三方库,因为Java标准库JDK并不直接支持这些格式。本文将详细介绍如何使用特定的jar包来实现对这三种压缩格式的操作。 首先,.zip格式是Java标准库支持的,...
为了在Java中实现7z文件的解压功能,我们通常会依赖第三方库,这里提到的是"sevenzipjbinding"库。这个库为Java提供了与7-Zip交互的API,使我们能够在Java代码中调用7-Zip的解压缩功能。 首先,我们需要导入必要的...
总结一下,Java解压RAR文件涉及使用第三方库如`java-unrar`,通过创建RarFile对象,遍历并解压文件条目来完成。同时,`ant.jar`在构建流程中可用于自动化解压缩任务。`DeCompressUtil.java`中的示例代码提供了解压的...
Java 1.7以上版本的通用解压工具是一款适用于Java平台的软件,它能够处理多种压缩格式,如RAR、ZIP、TAR等,为开发者提供了一种方便的方式来处理压缩文件。这款工具通常由程序员用于自动化任务,例如在应用程序中...
对于RAR文件,Java标准库并未提供直接支持。因此,我们需要依赖第三方库,如Apache Commons Compress或者JSch。例如,使用Apache Commons Compress,可以如下解压RAR文件: ```java import org.apache.commons....
在Java编程环境中,处理RAR文件的压缩和解压是一项常见的任务。RAR是一种高效的文件压缩格式,通常用于存储和传输大量数据。本篇文章将详细介绍如何使用Java来实现RAR文件的压缩和解压操作。 首先,Java标准库并...