网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Servlet运行环境所需的软件安装及.
.通往Java认证的阶梯.
.深入解析:J2ME 的平台体系结构.
.Java为索尼爱立信的手机带来游戏.
.要进入Java殿堂必须知道的名词.
..NET中实现彩色光标,动画和自定.
.切勿忽视软件集成中的软知识.
.详细讲解怎样在Java中运行其它应.
.j2se_api_中文.
.j2ee性能调优之最小化资源压力测.
.用Socket类实现HTTP协议客户端应.
.[webservices开发]使用xfire开发.
.Java中的static的含义.
.了解 JAVA classloader.
.Java核心代码例程之:Properties.
.Struts 中 html:options 的使用.
.在Java2环境中应用IP地址封装对象.
.谈谈如何保证测试代码的正确性.
.条件(三目)运算符 (?:).
.一个简单的 JDBC 包装器.

Java压缩文件/目录成ZIP包最新技巧

发表日期:2008-1-5


  使用Java自带的类 java.util.zip进行文件/目录的压缩的话,有一点不足,不支持中文的名件/目录命名,假如有中文名,那么打包就会失败。本人经过一段时间的摸索和实践,发现在一般的Ant.jar类库中也有zip类,import org.apache.tools.zip.*,能够解决不支持中文文件目录的问题,同时,Ant的获得途径也比较多,一般的应用服务器中有这个包,实在不行去下载个tomcat5.X,里面也有ant.jar,本人经过测试,可以使用。

  例子如下:

import java.io.File;
import org.apache.tools.zip.ZipOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import dianda.cwmanage.*;
import dianda.com.util.Format;

public class CompressBook {
 public CompressBook() {
}

public void zip(String inputFileName) throws Exception {
 String zipFileName="c:\\test.zip";//打包后文件名字
 System.out.println(zipFileName);
 zip(zipFileName, new File(inputFileName));

}

private void zip(String zipFileName, File inputFile) throws Exception {
 ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));
 zip(out, inputFile, "");
 System.out.println("zip done");
 out.close();
}

private void zip(ZipOutputStream out, File f, String base) throws Exception {
 if (f.isDirectory()) {
  File[] fl = f.listFiles();
  out.putNextEntry(new org.apache.tools.zip.ZipEntry(base + "/"));
  base = base.length() == 0 ? "" : base + "/";
  for (int i = 0; i < fl.length; i++) {
   zip(out, fl[i], base + fl[i].getName());
  }
 }
 else {
  out.putNextEntry(new org.apache.tools.zip.ZipEntry(base));
  FileInputStream in = new FileInputStream(f);
  int b;
  System.out.println(base);
  while ( (b = in.read()) != -1) {
   out.write(b);
  }
  in.close();
 }
}
}
  唯一遗憾,美中不足的是,无论,java.util.zip或者org.apache.tools.zip都不能解压rar工具打成的rar包,搜了半天也找不到采用java解压rar工具打成的包,盼望哪位高人能够提供解压rar工具打成的包,和大家分享一下!进入讨论组讨论。

上一篇:JBuilder2005单元测试之创建测试固件 人气:529
下一篇:J2ME简单吗? 人气:576
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐