一起学习
/*本实例采用递归的方法,把指定的目录(包括子目录)压缩成一个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压缩目录用ZipOutputStream压缩目录用ZipOutputStream压缩目录用ZipOutputStream压缩目录用ZipOutputStream压缩目录用ZipOutputStream压缩目录用ZipOutputStream压缩目录用ZipOutputStream压缩目录用ZipOutputStream压缩目录用ZipOutputStream压缩目录用ZipOutputStream压缩目录用ZipOutputStream压缩目录
阅读(423) | 评论(0) | 转发(0) |