Zip输入流处理
package test;
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 MyZip {
private void zip(String zipFileName,File inputFile) throws IOException
{
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));
zip(out,inputFile,"");
System.out.println("");
out.close();
}
private void zip(ZipOutputStream out,File f,String base) throws IOException
{
if(f.isDirectory())
{
File [] fl = f.listFiles();
out.putNextEntry(new ZipEntry(base+"/"));
base = 0 == base.length() ? "":base+"/";
for(int i = 0;i< fl.length;i++)
{
zip(out,fl[i],base + fl[i]);
}
}else{
out.putNextEntry(new ZipEntry(base));
FileInputStream in = new FileInputStream(f);
int b;
System.out.println(base);
while((b = in.read())!=-1)
{
out.write(b);
}
in.close();
}
}
public static void main(String[] args) {
MyZip book = new MyZip();
try {
book.zip("E:\\eclipse\\workspace\\study\\unzip\\hello.zip", new File("E:\\eclipse\\workspace\\study\\hello"));
System.out.println("压缩完成");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Zip输出流处理
package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class Decompressing {
public static void main(String[] args) throws Exception {
ZipInputStream zin;
zin = new ZipInputStream(new FileInputStream("hello.zip"));
ZipEntry entry = zin.getNextEntry();
while(((entry = zin.getNextEntry())!=null)&& !entry.isDirectory())
{
File file = new File("d:\\"+entry.getName());
System.out.println(file);
if(!file.exists())
{
file.mkdirs();
file.createNewFile();
}
zin.closeEntry();
System.out.println(entry.getName()+"解压成功");
}
zin.close();
}
}