用ZipOutputStream压缩目录

/*本实例采用递归的方法,把指定的目录(包括子目录)压缩成一个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
 

95.00 元  

韩国正品专卖!Intercrew LED手表/男

 

 

【华佗天然居】天然花草茶花茶中草药中药材


来源:程序员网

小小豆叮

0 Responses to "用ZipOutputStream压缩目录"

发表评论