网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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,移动开发
本月文章推荐
.动态图文结合.
.使用.NET Profiler API检查并优化.
.Java中的内部类和匿名类.
.JAVA相关基础知识(2).
.JNI开发简单入门篇.
.JDBC2/3.0的特征点滴.
.图解 Visual Studio .Net 团队开.
.基于java的图片文件格式转换和线.
.如何将form保存到图片中!.
.书评:Java的盛宴(下).
.查询页面显示进度条,load成功后隐.
.为Struts的测试辩护!.
.JAVA相关基础知识(4).
.理解接口.
.用JFace和SWT构建简单的应用程序.
.针对 .NET 开发人员的存储过程评.
.如何学好java.
.Java与sqlserver2000的连接.
.JBoss 4.0.2集群指南 建立JMS集群.
.JBuilder 2005单元测试之慨述.

在Java中操作Zip文件,压缩/解压

发表日期:2008-1-5



  可随意转载,但请注明出处及作者
SonyMusic
2003.05.28
==========================================================================
在Java中操作Zip文件,压缩/解压


package test.nothing;

import java.io.*;
import java.util.*;
import java.util.zip.*;

import com.beaconsystem.util.*;

import junit.framework.TestCase;

/**
* @author SonyMusic
*
* 用于测试java.util.zip包压缩和解压缩文件zip文件的例子.
* 基于JUnit编写,包括两个test方法,和三个辅助方法.
* 注重到使用过程中操作的全是流,所以不仅仅可以读写文件。这只是一个简单的例子.
*/
public class TestZipOp extends TestCase {

/**
* ConstrUCtor for TestZipOp.
* @param arg0
*/
public TestZipOp(String arg0) {
super(arg0);
}

public static void main(String[] args) {
junit.textui.TestRunner.run(TestZipOp.class);
}

/**
* zip压缩功能测试.
* 将d:\\temp\\zipout目录下的所有文件连同子目录压缩到d:\\temp\\out.zip.
* @throws Exception
*/
public void testCreateZip() throws Exception{
//压缩baseDir下所有文件,包括子目录
String baseDir="d:\\temp\\zipout";
List fileList=getSubFiles(new File(baseDir));

//压缩文件名
ZipOutputStream zos=new ZipOutputStream(new FileOutputStream("d:\\temp\\out.zip"));

ZipEntry ze=null;
byte[] buf=new byte[1024];
int readLen=0;
for (int i = 0; i <fileList.size(); i++) {
File f=(File)fileList.get(i);
System.out.print("Adding: "+f.getPath()+f.getName());

//创建一个ZipEntry,并设置Name和其它的一些属性
ze=new ZipEntry(getAbsFileName(baseDir, f));
ze.setSize(f.length());
ze.setTime(f.lastModified());

//将ZipEntry加到zos中,再写入实际的文件内容
zos.putNextEntry(ze);
InputStream is=new BufferedInputStream(new FileInputStream(f));
while ((readLen=is.read(buf, 0, 1024))!=-1) {
zos.write(buf, 0, readLen);
}
is.close();
System.out.println("   done...");
}
zos.close();
}

/**
* 测试解压缩功能.
* 将d:\\download\\test.zip文件解压到d:\\temp\\zipout目录下.
* @throws Exception
*/
public void testReadZip() throws Exception{
//InputStream is=new BufferedInputStream(new FileInputStream());
String baseDir="d:\\temp\\zipout";
ZipFile zfile=new ZipFile("d:\\download\\Test.zip");
System.out.println(zfile.getName());
Enumeration zList=zfile.entries();
ZipEntry ze=null;
byte[] buf=new byte[1024];
while(zList.hasMoreElements()){
//从ZipFile中得到一个ZipEntry

上一篇:在Java程序中截获控制台输出 人气:1071
下一篇:在java体系结构中集成Macromedia Flex(翻译) 人气:988
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐