解压缩流

import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class ZipUncompressDemo {
public static void main(String[] args) throws IOException {
uncompress("test.zip", "uncompressDir");
}
public static void uncompress(String src, String dest) throws IOException {
ZipInputStream zip = new ZipInputStream(new FileInputStream(src));
ZipEntry entry;
while ((entry = zip.getNextEntry()) != null) {
System.out.println(entry);
if (entry.isDirectory()) {
File file = new File(dest, entry.toString());
file.mkdirs();
} else {
FileOutputStream fos = new FileOutputStream(new File(dest, entry.toString()));
int b;
while ((b = zip.read()) != -1) {
fos.write(b);
}
fos.close();
zip.closeEntry();
}
}
zip.close();
}
}
压缩流
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipCompressDemo {
public static void main(String[] args) throws IOException {
File src = new File("D:\\a.txt");
File destZipFile = new File("D:\\", src.getName() + ".zip");
toZip(src, dest,"");
}
public static void toZip(File src, ZipOutputStream zos, String name) throws IOException {
File[] files = src.listFiles();
for (File file : files) {
if (file.isFile()) {
ZipEntry entry = new ZipEntry(name + "\\" + file.getName());
zos.putNextEntry(entry);
FileInputStream fis = new FileInputStream(file);
int b;
while ((b = fis.read()) != -1) {
zos.write(b);
}
fis.close();
zos.closeEntry();
} else {
toZip(file, zos, name + "\\" + file.getName());
}
}
}
}