???????????zip?????????????????????衢???????code??
???????????????????????????????????????????????й?ɡ?
???????????Ubuntu14.04??eclipse ?????STS3.5??jdk81.8.0_20
????????????????????????????code??????????????????????????????????????
????????????maven??????????jar????????
????<!-- ????zip???????? -->
????<dependency>
????<groupId>ant</groupId>
????<artifactId>ant</artifactId>
????<version>1.7.0</version>
????</dependency>
???????????£?
package com.uujava.mbfy.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.tools.zip.ZipOutputStream;
/**
* @author k
* @date 2014??10??7?? ????8:04:51
* @Description: TODO(?????????????zip???)
* ??????bug:
* ?????????????????????????а????????????ж???????????????
*/
public final class ZipUtils {
public static void main(String[] args) throws Exception {
// ZipFile("/home/k/Documents/testzip/???????html5?????.zip"?? "/home/k/Documents/testzip/index.html");
unZipFile("/home/k/Documents/testzip/???????html5?????.zip"??
"/home/k/Documents/testzip/zip");
}
public static void zip(ZipOutputStream out?? File f?? String base??
boolean first) throws Exception {
if (first) {
if (f.isDirectory()) {
out.putNextEntry(new org.apache.tools.zip.ZipEntry("/"));
base = base + f.getName();
first = false;
} else
base = f.getName();
}
if (f.isDirectory()) {
File[] fl = f.listFiles();
base = base + "/";
for (int i = 0; i < fl.length; i++) {
zip(out?? fl[i]?? base + fl[i].getName()?? first);
}
} else {
out.putNextEntry(new org.apache.tools.zip.ZipEntry(base));
FileInputStream in = new FileInputStream(f);
int b;
System.out.println(base);
while ((b = in.read()) != -1) {
out.write(b);
}
in.close();
}
}