java zip 中文_java zip文件的解压缩(支持中文文件名)

本文提供了一段使用Apache Ant库的Java代码,用于解压缩包含中文文件名的ZIP文件。示例代码详细展示了如何处理ZIP文件中的每个条目,并将它们解压缩到指定目录。同时,指出了在Android环境中使用此代码需要添加相关权限。
摘要由CSDN通过智能技术生成

用的apache的ant包,下载导入即可。由于过程比较简单,直接上代码。

代码可直接复制使用。

如果想在android上使用,记得要在AndroidManifest.xml里添加权限:

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.Enumeration;

import java.util.zip.ZipException;

import org.apache.tools.zip.ZipEntry;

import org.apache.tools.zip.ZipFile;

/**

* 可以处理中文文件名

*/

public class jieya {

public static void main(String[] args) {

/**

* 解压文件

*/

File zipFile = new File("e:/压缩sdhjk.rar");

String path = "e:/zipfile/";

try {

unZipFiles(zipFile, path);

} catch (Exception e) {

System.out.println("解压异常");

}

}

/**

* 解压到指定目录

*

* @param zipPath

* @param descDir

* @author isea533

*/

public static void unZipFiles(String zipPath, String descDir) {

try {

unZipFiles(new File(zipPath), descDir);

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 解压文件到指定目录

*

* @param zipFile

* @param descDir

* @author isea533

*/

@SuppressWarnings("rawtypes")

public static void unZipFiles(File zipFile, String descDir) {

File pathFile = new File(descDir);

if (!pathFile.exists()) {

pathFile.mkdirs();

}

try {

ZipFile zip = new ZipFile(zipFile);

for (Enumeration entries = zip.getEntries(); entries

.hasMoreElements();) {

ZipEntry entry = (ZipEntry) entries.nextElement();

String zipEntryName = entry.getName();

InputStream in = zip.getInputStream(entry);

String outPath = (descDir + zipEntryName)

.replaceAll("\\*", "/");

// 判断路径是否存在,不存在则创建文件路径

File file = new File(outPath.substring(0,

outPath.lastIndexOf('/')));

if (!file.exists()) {

file.mkdirs();

}

// 判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压

if (new File(outPath).isDirectory()) {

continue;

}

// 输出文件路径信息

System.out.println(outPath);

OutputStream out = new FileOutputStream(outPath);

byte[] buf1 = new byte[1024];

int len;

while ((len = in.read(buf1)) > 0) {

out.write(buf1, 0, len);

}

in.close();

out.close();

}

} catch (ZipException e) {

e.printStackTrace();

System.out.println("压缩文件打开异常");

} catch (FileNotFoundException e) {

e.printStackTrace();

System.out.println("文件没有找到");

} catch (IOException e) {

e.printStackTrace();

System.out.println("io异常");

}

System.out.println("******************解压完毕********************");

}

}

java Zip文件解压缩

java Zip文件解压缩 为了解压缩zip都折腾两天了,查看了许多谷歌.百度来的code, 真实无语了,绝大多数是不能用的.这可能跟我的开发环境有关吧. 我用的是Ubuntu14.04,eclips ...

Servlet 下载文件及支持中文文件名

Sevlet 下载pdf文件 支持中文文件名 package html2pdf.controller; import java.io.File; import java.io.FileInputStr ...

FullSync不支持中文文件名

FullSync,能实现多种方式.协议的目录同步软件,但不支持中文文件名.

tomcat支持中文文件名下载

http://blog.csdn.net/wnczwl369/article/details/7483806 Tomcat 是Java开发者使用得较多的一个Web服务器,因为它占用资源小,运行速度快等 ...

springmvc上传zip文件并解压缩代码示例

spring中的配置:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值