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 ZipFileTest
{
static final int BUFFER = 2048 ;
public File zipDir (File mydir)
{
BufferedInputStream bis = null ;
File zipFile = new File (mydir.getParent()+"/"+mydir.getName()+".rar") ;
ZipOutputStream out = null ;
try
{
out = new ZipOutputStream (new BufferedOutputStream (new FileOutputStream (zipFile) , BUFFER)) ;
File dirCon [] = mydir.listFiles() ;
File temp = null ;
for(int i = 0 ; i < dirCon.length ; i ++)
{
temp = dirCon [i] ;
System.out.println("压缩"+dirCon[i].getName()) ;
bis = new BufferedInputStream (new FileInputStream (temp)) ;
ZipEntry en = new ZipEntry (temp.getName()) ;
out.putNextEntry(en) ;
byte data [] = new byte [bis.available()] ;
out.write(bis.read(data)) ;
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if(bis != null)
bis.close() ;
}
catch (IOException e)
{
e.printStackTrace();
}
}
return zipFile ;
}
public static void main(String[] args)
{
File file = new File ("d:/aaa") ;
ZipFileTest zip = new ZipFileTest () ;
zip.zipDir (file) ;
}
}
加一个package 包名 就可以了,不知道哪里出了错,跪求各位帮我看看 :》