用java写了一个压缩目录的简单工具程序,代码如下:
package edu.whu.cs;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipUtil {
private void zip(String path,ZipOutputStream zip,BufferedOutputStream bufout) {
File f=new File(path);
try {
path=path.substring(2,path.length());
zip.putNextEntry(new ZipEntry(path));
if (f.isFile()) {
FileInputStream in = new FileInputStream(f);
BufferedInputStream bufin = new BufferedInputStream(in);
int line;
while ((line = bufin.read()) != -1) {
bufout.write(line);
}
bufin.close();
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
private void minZip(String path,ZipOutputStream zip,BufferedOutputStream bufout){
File f=new File(path);
System.out.println(path);
if(f.isDirectory()){
for(File e:f.listFiles()){
minZip(path+"/"+e.getName(),zip,bufout);
}
}else{
zip(path,zip, bufout);
}
}
public boolean zipUtil(String source,String dest){
try {
FileOutputStream out = new FileOutputStream(dest);
ZipOutputStream zip = new ZipOutputStream(out);
BufferedOutputStream bufout = new BufferedOutputStream(zip);
minZip(source,zip,bufout);
} catch (FileNotFoundException e) {
return false;
}
return true;
}
public static void main(String[] args) throws IOException {
new ZipUtil().zipUtil("D:/Tomcat 7.0","E:/long.zip");
}
}
只是简单实现,以后会继续完善。