- 浏览: 407955 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
holleyangyanges:
name327 写道LZ说句打击你的话, 首先不说Https的 ...
使用httpclient4登录百度 -
holleyangyanges:
,没有登陆成功啊!
使用httpclient4登录百度 -
shenjichao2009:
...
Spring AOP原理解析 -
wuke0210:
[color=red][/color]
CKEditor3.0在asp.net环境下上传文件的配置,集成CKFinder -
wuke0210:
CKEditor3.0在asp.net环境下上传文件的配置,集成CKFinder
一篇关于zip包的解压缩,支持目录嵌套和文件目录的中文名,也算补上上次的只压不解,(注意先倒入ant.jar这个包,同时要确认ant.jar包中有org.apache.tools.zip):
import java.io.*;
public class DeCompressBook {
public DeCompressBook() {
}
private void createDirectory(String directory, String subDirectory) {
String dir[];
File fl = new File(directory);
try {
if (subDirectory == "" && fl.exists() != true)
fl.mkdir();
else if (subDirectory != "") {
dir = subDirectory.replace('\\', '/').split("/");
for (int i = 0; i < dir.length; i++) {
File subFile = new File(directory + File.separator + dir[i]);
if (subFile.exists() == false)
subFile.mkdir();
directory += File.separator + dir[i];
}
}
}
catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
public void unZip(String zipFileName, String outputDirectory) throws Exception {
try {
org.apache.tools.zip.ZipFile zipFile = new org.apache.tools.zip.ZipFile(zipFileName);
java.util.Enumeration e = zipFile.getEntries();
org.apache.tools.zip.ZipEntry zipEntry = null;
createDirectory(outputDirectory, "");
while (e.hasMoreElements()) {
zipEntry = (org.apache.tools.zip.ZipEntry) e.nextElement();
System.out.println("unziping " + zipEntry.getName());
if (zipEntry.isDirectory()) {
String name = zipEntry.getName();
name = name.substring(0, name.length() - 1);
File f = new File(outputDirectory + File.separator + name);
f.mkdir();
System.out.println("创建目录:" + outputDirectory + File.separator + name);
}
else {
String fileName = zipEntry.getName();
fileName = fileName.replace('\\', '/');
// System.out.println("测试文件1:" +fileName);
if (fileName.indexOf("/") != -1)
{
createDirectory(outputDirectory,
fileName.substring(0, fileName.lastIndexOf("/")));
fileName=fileName.substring(fileName.lastIndexOf("/")+1,fileName.length());
}
File f = new File(outputDirectory + File.separator + zipEntry.getName());
f.createNewFile();
InputStream in = zipFile.getInputStream(zipEntry);
FileOutputStream out=new FileOutputStream(f);
byte[] by = new byte[1024];
int c;
while ( (c = in.read(by)) != -1) {
out.write(by, 0, c);
}
out.close();
in.close();
}
}
}
catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
评论
//这段都可以不要,因为每次都貌似从最底层开始遍历的
loadFile.mkdirs();
}
这句是要的
static void unZip(File file,String loadFold) throws IOException { byte b[] = new byte[1024]; int length; org.apache.tools.zip.ZipFile zipFile = new org.apache.tools.zip.ZipFile(file); java.util.Enumeration enumeration = zipFile.getEntries(); org.apache.tools.zip.ZipEntry zipEntry = null; while (enumeration.hasMoreElements()) { zipEntry = (org.apache.tools.zip.ZipEntry) enumeration.nextElement(); File loadFile = new File(loadFold+zipEntry.getName()); if (zipEntry.isDirectory()) { //这段都可以不要,因为每次都貌似从最底层开始遍历的 loadFile.mkdirs(); } else { if (!loadFile.getParentFile().exists()) loadFile.getParentFile().mkdirs(); OutputStream outputStream = new FileOutputStream(loadFile); InputStream inputStream = zipFile.getInputStream(zipEntry); while ((length = inputStream.read(b)) > 0) outputStream.write(b, 0, length); } } }
static void unZip(File file,String loadFold) throws IOException { byte b[] = new byte[1024]; int length; org.apache.tools.zip.ZipFile zipFile = new org.apache.tools.zip.ZipFile(file); java.util.Enumeration enumeration = zipFile.getEntries(); org.apache.tools.zip.ZipEntry zipEntry = null; while (enumeration.hasMoreElements()) { zipEntry = (org.apache.tools.zip.ZipEntry) enumeration.nextElement(); File loadFile = new File(loadFold+zipEntry.getName()); if (zipEntry.isDirectory()) { //这段都可以不要,因为每次都貌似从最底层开始遍历的 loadFile.mkdirs(); } else { if (!loadFile.getParentFile().exists()) loadFile.getParentFile().mkdirs(); OutputStream outputStream = new FileOutputStream(loadFile); InputStream inputStream = zipFile.getInputStream(zipEntry); while ((length = inputStream.read(b)) > 0) outputStream.write(b, 0, length); } } }
发表评论
-
Eclipse很卡的解决方法
2016-04-13 15:03 572配置eclipse.ini文件,可以根据内存大小视情况而定 ... -
shell 跟java 相互调用和获取结果
2011-11-08 15:16 3044被调用的shell a.sh #!/bin/bash e ... -
关于日文编码(Shift_JIS Windows-31 EUC-JP)
2011-03-02 09:50 156951、常用编码 日语的文字编码主要是Shift_JIS、EUC ... -
ITEXT 使用小结
2010-07-21 15:13 1635最近项目中使用到IText5,其实跟之前版本并无特殊差别, ... -
Java 1.5 小手册 Cheat Sheet
2009-12-26 19:07 1083Create a new object instance S ... -
SpringSide 3.2.1 寒冬日志版发布
2009-12-24 22:54 1228最近国内的开源项目非常生猛,与Play!Framework有 ... -
使用HttpComponents获取整个页面的内容
2009-12-14 11:52 2729commons-httpclient已经不再更新了, htt ... -
如何优化JAVA程序开发,提高JAVA性能
2009-12-01 13:35 1053通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分 ... -
weblogic11集群之建立节点信任
2009-11-24 14:56 21741、管理server和被管server的domain名字必须一 ... -
体验一下JBOSSESB The Hello World QuickStart
2009-11-16 17:26 16741)跑到 http://www.jboss.org/jboss ... -
过滤器中向所有JSP页面插入html代码
2009-10-28 16:06 2380为公司内部开发了1个简单的MVC框架,框架中需要向所有JSP页 ... -
GlassFish替换Tomcat
2009-09-29 09:34 12181. GlassFish替换Tomcat背景 ... -
禁止apache和tomcat列出目录清单的方法
2009-09-28 16:49 2230如果用户uri中没有指定文件名,apache和tomcat在默 ... -
关于apache和tomcat的连接器
2009-09-28 16:28 1486mod_jk2确实很烂。 几天的mod_jk2的云山雾罩之后 ... -
Linux下Tomcat与Apache Web服务器的整合
2009-09-28 16:21 10471、引言 基 ... -
有关使用和部署 Java 持久性体系结构 (JPA) 的案例研究
2009-04-24 17:19 11092006 年夏天发布的 EJB 3 ... -
Spring AOP原理解析
2009-04-24 15:07 10284AOP概念: 实现AOP有两种 ... -
spring aop的原理
2009-04-24 15:06 2813AOP概念 让我们从定义一些重要的AOP概念开始。 — 方 ... -
struts2的struts.properties配置文件详解
2009-04-23 16:34 996struts.action.extension ... -
详解JRE和JDK的区别
2009-02-04 11:07 1440JDK JDK 是整个Java的核心,包括了Java运行环境 ...
相关推荐
import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; import org.apache.tools.zip.ZipOutputStream; 需要的jar包,压缩zip包和解压zip包,远程打包,文件批量下载、文件批量上传
主要使用该jar包中的以下类: org.apache.tools.zip.ZipEntry; org.apache.tools.zip.ZipFile; org.apache.tools.zip.ZipOutputStream;
import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; import org.apache.tools.zip.ZipOutputStream; /** * * 类名: ZipUtil.java * 描述:压缩/解压缩zip包处理类 * 创建...
import org.apache.tools.*; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; 等
这个版本包含了对Zip文件格式的支持,其中`org.apache.tools.zip.ZipOutputStream`是Ant用来创建Zip压缩文件的核心类。在处理中文文件名时,可能会遇到乱码问题,这是由于字符编码不一致所导致的。 描述中提到的...
java压缩中文处理使用org.apache.tools.zip已经打包成jar 只要放在LIB文件夹下,然后在JSP 或 JAVA 里引用即可。 <%@ page language="java" import="java.sql.*,java.io.*,org.apache.tools.zip.Zip" pageEncoding=...
下面我们将深入探讨如何使用Java和`org.apache.tools.zip`进行文件的压缩和解压缩。 1. **创建ZIP文件** 创建ZIP文件的核心类是`java.util.zip.ZipOutputStream`,而`org.apache.tools.zip`提供了更高级别的抽象,...
1:下载 org.apache.http.legacy.jar这个jar包。放置到程序app-->libs目录下 2:打开build.gradle文件,在android节点下添加:useLibrary 'org.apache.http.legacy' 重新编辑即可。 Eclipse解决办法: 直接将org...
这篇博客“org.apache.tools.zip.*和org.apache.commons.httpclient.*实现远程文件打包下载,支持中文文件名”探讨了如何利用Apache开源库来实现这个功能。Apache的`tools.zip`和`commons-httpclient`模块为开发者...
http://mirror.bjtu.edu.cn/apache//ant/source/apache-ant-1.8.2-src.zip 使用我自己包,直接放到WEB-INF\classes下解压即可, 在程序中加上 outf.setEncoding("gbk");即可 下面是我的多个文件压缩成一个的压缩...
该jar包包含: import org.apache.http.Header; import org.apache....解压缩后,将lib文件夹下的jar所有jar包导入到eclipse工程的libs中; 可以解决Android-SDK新更新之后,使用http缺少org.apache.http的一些问题.
org.apache.poi JAR包,解决个人的 import org.apache.commons.beanutils.PropertyUtilsBean; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi...
org.apache.commons.lang.BitField.class org.apache.commons.lang.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet...
标题中的"org.apache.tools.*需要的ant.jar包"指的是Apache Ant的核心库,这个库包含了`org.apache.tools`包下的一系列类和接口,它们是Ant运行时不可或缺的部分。在Java项目中,如果你需要通过代码来调用Ant进行...
import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.HttpVersion; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; ...
import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.scheme.Scheme; ...
org.apache.tools.zip.ZipEntry org.apache.tools.zip.ZipShort org.apache.tools.ant.XmlLogger org.apache.tools.tar.TarBuffer org.apache.tools.zip.JarMarker org.apache.tools.zip.ZipFile$1 org.apache...
org.apache.http jar包 import org.apache.http.Header; import org.apache.http.HttpException; import org.apache.http.HttpRequest; import org.apache.http.HttpRequestInterceptor; import org....
org.apache.poi JAR包,解决个人的 import org.apache.commons.beanutils.PropertyUtilsBean; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi...