java在解压zip包中的文件时,如果文件名有中文,将会抛出异常.
网上有方法说直接修改java.util.zip.ZipInputStream中的方法
后来又找到一种方法,使用ant的ZipFile来解决,测试可用
package test6; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import org.apache.tools.zip.ZipFile; /** * Author:neo_q Create_Date:2008-3-17 */ public class UnZip { public static final int DEFAULT_BUFFER = 1024 * 4; public static long copy(InputStream aIn, OutputStream aOut, int aBufferSize) throws IOException { byte[] buffer = new byte[aBufferSize]; int read = 0; long totalBytes = 0; while (-1 != (read = aIn.read(buffer))) { aOut.write(buffer, 0, read); totalBytes += read; } return totalBytes; } public static long copy(InputStream aIn, OutputStream aOut) throws IOException { return copy(aIn, aOut, DEFAULT_BUFFER); } public static void unzip1(File zipFileName, File outputDirectory) throws Exception { ZipFile zf = null; try { zf = new ZipFile(zipFileName); Enumeration en = zf.getEntries(); while (en.hasMoreElements()) { org.apache.tools.zip.ZipEntry entry = (org.apache.tools.zip.ZipEntry) en .nextElement(); System.out.println(entry.getName()); FileOutputStream out = null; try { System.out.println(entry.isDirectory()); if (!entry.isDirectory()) { File newFile = new File(outputDirectory, entry .getName()); newFile.getParentFile().mkdirs(); out = new FileOutputStream(newFile); copy(zf.getInputStream(entry), out); } } catch (Exception io) { io.printStackTrace(); throw io; } finally { if (out != null) out.close(); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if(zf!=null) zf.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void main(String[] args) throws Exception { UnZip.unzip1(new File("D:\\2m.zip"), new File("C:\\testUnzip\\dest")); System.out.println("OK"); } }
内容来源于网络.
相关推荐
* 如果传null或者""则将压缩文件存放在当前目录,即跟源文件同目录,压缩文件名取源文件名,以.zip为后缀; * 如果以路径分隔符(File.separator)结尾,则视为目录,压缩文件名取源文件名,以.zip为后缀,否则视为...
解决java压缩zip文件时的中文乱码问题 ...实现:java压缩文件成zip实现无乱码。 包括:写好的工具类与jar包。 使用方法:导入ant.jar包,调用CompressExcelOperate中的方法,即可实现压缩文件,并保证没有中文乱码。
在使用Java对ZIP压缩文件进行解压的方式中有两种,一种是使用apache提供的ant.jar工具包,但是如果ZIP文件中含有中文名称的文件,在解压后,文件名将出现乱码,另一种是使用Java自身JDK中java.util.zip包下工具类,...
Java压缩中文名的文件,大家都知道Java处理英文名的文件很强大,但是处理起中文名那可是比较麻烦了,需要经过很多步骤,这个例子可以告诉你如何简易的处理中文文件名的文件,以压缩中文文件名的文件为例。...
一个简单的分析工具,用于分析”.class/.cap/.exp”格式的Java文件。 对于CAP文件,支持version 2.1 and 2.2. 适用于JCVM的学习。 使用工具时,需保证“C:\Program Files\...解压后,将后缀名改为“.exe”即可使用。
对于任意一个文件进行压缩,压缩后的文件名为原文件名称去掉后缀加上.hz,例如,原来的未压缩文件的名字为a.txt,压缩后为a.hz,压缩后的文件信息使用TLV结构(TYPE-LENGTH-VALUE),文件信息包括霍夫曼编码码表,...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
* 如果传null或者""则将压缩文件存放在当前目录,即跟源文件同目录,压缩文件名取源文件名,以.zip为后缀; * 如果以路径分隔符(File.separator)结尾,则视为目录,压缩文件名取源文件名,以.zip为后缀,否则视为...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
即合并的压缩文件的拓展名,文件即为压缩文件 本软件为java编写,没有打包jre所以需要自行安装jre. 安装过jdk的用户可以直接运行此软件,此软件在 世态炎凉一依然 吧.持续更新内容,并提供源代码. xp用户请不要使用桌面...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...
由于上传权限只有20M所以打成了5个rar包(java web 开发技术大全光盘文件(part01...文件名为Java Web (G).part1.rar、Java Web (G).part2.rar、Java Web (G).part3.rar、Java Web (G).part4.rar、Java Web (G).part5.rar...
由于上传权限只有20M所以打成了5个rar包(java web 开发技术大全光盘文件(part01...文件名为Java Web (G).part1.rar、Java Web (G).part2.rar、Java Web (G).part3.rar、Java Web (G).part4.rar、Java Web (G).part5.rar...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...
由于上传权限只有20M所以打成了5个rar包(java web 开发技术大全光盘文件(part01...文件名为Java Web (G).part1.rar、Java Web (G).part2.rar、Java Web (G).part3.rar、Java Web (G).part4.rar、Java Web (G).part5.rar...
* excel 目前使用的版本为2007,其他版本未测试, * excel 格式 定义 * 第一行 为 说明, * 第二行 为 字段说明 * 第三行 为 字段名字 * 第四行 为 前端字段类型 (我是后端我不用,所以不解析,) * 第五行...
-s - output file extension (by default '.jad') 如果不设置为-sjava,则默认扩展名为.jad 其他的,F:/amclientsdk/**/*.class 中的两颗接连的星,表示任意层次的子目录。 在Windows资源管理器的鼠标右键菜单中...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
Java程序的入口点是一个特殊的类,它包含了一个名为main的方法,这个方法是程序的起点。Java程序可以使用各种开发工具进行编写、编译和调试,比如IntelliJ IDEA等。 Java程序可以用于开发各种类型的应用程序,包括...