用ZipOutputStream压缩目录

<script type="text/javascript"> google_ad_client = "pub-8800625213955058"; /* 336x280, 创建于 07-11-21 */ google_ad_slot = "0989131976"; google_ad_width = 336; google_ad_height = 280; // </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> /*本实例采用递归的方法,把指定的目录(包括子目录)压缩成一个ZIP文件。 原理是:为指定目录的所有文件创建一个ZipEntry(压缩流入口),然后把文件写进去;当遇到子目录时, 调用递归函数,把它压缩成另一个zip文件,当作一般文件写进去. 本人初学Java,颇有不完善地方,万望指点,谢谢! */ //使用方法 java Zip <目录名> //java.util.zip包提供了数据压缩和解压缩的类 import java.io.*; import java.util.zip.*; public class Zip{ static final int BUFFER=2048; static boolean flag=false; public static void main(String args[])throws IOException{ File file=new File(args[0]); FileInputStream file1=new FileInputStream(ZipSubdirectory(file)); } //ZipSubdirectory函数将一个指定目录(包括它子目录)压缩成一个同名压缩文件(这里称为"ORIGIN") public static File ZipSubdirectory(File myDir)throws IOException{ //创建缓冲输入流BufferedInputStream BufferedInputStream origin=null; //创建ZipOutputStream对象,将向它传递希望写入文件的输出流 File zipFile=new File(myDir.getName() ".zip"); FileOutputStream fos=new FileOutputStream(zipFile); ZipOutputStream out=new ZipOutputStream(new BufferedOutputStream(fos,BUFFER)); //dirContents[]获取当前目录(myDir)所有文件对象(包括子目录名) File dirContents[]=myDir.listFiles(); //创建临时文件tempFile,使用后删除 File tempFile=null; try{ //处理当前目录所有文件对象,包括子目录 for(int i=0;i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值