<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
用ZipOutputStream压缩目录
最新推荐文章于 2024-02-07 17:31:53 发布