java Zip
import java.util.*;
import java.util.zip.*;
import java.io.*;
class TestZip
{
//压缩
public static void zip(String zipFileName , String inputFile)throws Exception
{
File f = new File(inputFile);
ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipFileName));
zip(out,f,null);
System.out.println("zip done");
out.close();
}
private static void zip(ZipOutputStream out,File f,String base)throws Exception
{
System.out.println("zipping " + f.getAbsolutePath());
if (f.isDirectory()) {
File[] fc =f.listFiles();
if(base!=null)
out.putNextEntry(new ZipEntry(base+"/"));
base=base==null?"":base+"/";
for (int i=0;i<fc.length ;i++ ) {
zip(out,fc[i],base+fc[i].getName());
}
}
else {
out.putNextEntry(new ZipEntry(base));
FileInputStream in=new FileInputStream(f);
int b;
while ((b=in.read()) != -1)
out.write(b);
in.close();
}
}
//解压
public static void unzip(String zipFileName,String outputDirectory)throws Exception
{
ZipInputStream in=new ZipInputStream(new FileInputStream(zipFileName));
ZipEntry z;
while ((z=in.getNextEntry() )!= null)
{
String name = z.getName();
if (z.isDirectory()) {
name=name.substring(0,name.length()-1);
File f=new File(outputDirectory+File.separator+name);
f.mkdir();
System.out.println("MD "+outputDirectory+File.separator+name);
}
else {
System.out.println("unziping "+z.getName());
File f=new File(outputDirectory+File.separator+name);
f.createNewFile();
FileOutputStream out=new FileOutputStream(f);
int b;
while ((b=in.read()) != -1)
out.write(b);
out.close();
}
}
in.close();
}
public static void main(String[] args)
{
try{
TestZip t=new TestZip();
// t.zip("c://test.zip","c://test");
// t.unzip("c://test.zip","c://test2");
}catch(Exception e){
e.printStackTrace(System.out);
}
}
}
import java.util.*;
import java.util.zip.*;
import java.io.*;
class TestZip
{
//压缩
public static void zip(String zipFileName , String inputFile)throws Exception
{
File f = new File(inputFile);
ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipFileName));
zip(out,f,null);
System.out.println("zip done");
out.close();
}
private static void zip(ZipOutputStream out,File f,String base)throws Exception
{
System.out.println("zipping " + f.getAbsolutePath());
if (f.isDirectory()) {
File[] fc =f.listFiles();
if(base!=null)
out.putNextEntry(new ZipEntry(base+"/"));
base=base==null?"":base+"/";
for (int i=0;i<fc.length ;i++ ) {
zip(out,fc[i],base+fc[i].getName());
}
}
else {
out.putNextEntry(new ZipEntry(base));
FileInputStream in=new FileInputStream(f);
int b;
while ((b=in.read()) != -1)
out.write(b);
in.close();
}
}
//解压
public static void unzip(String zipFileName,String outputDirectory)throws Exception
{
ZipInputStream in=new ZipInputStream(new FileInputStream(zipFileName));
ZipEntry z;
while ((z=in.getNextEntry() )!= null)
{
String name = z.getName();
if (z.isDirectory()) {
name=name.substring(0,name.length()-1);
File f=new File(outputDirectory+File.separator+name);
f.mkdir();
System.out.println("MD "+outputDirectory+File.separator+name);
}
else {
System.out.println("unziping "+z.getName());
File f=new File(outputDirectory+File.separator+name);
f.createNewFile();
FileOutputStream out=new FileOutputStream(f);
int b;
while ((b=in.read()) != -1)
out.write(b);
out.close();
}
}
in.close();
}
public static void main(String[] args)
{
try{
TestZip t=new TestZip();
// t.zip("c://test.zip","c://test");
// t.unzip("c://test.zip","c://test2");
}catch(Exception e){
e.printStackTrace(System.out);
}
}
}