zip ,zip , , , ant.jar , , , ant.jar
/**
*
*/
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.zip.CRC32;
import java.util.zip.CheckedOutputStream;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;
/**
* @author XL
*
*/
public class ZipUtil
{
/**
* @param args
*/
public static void main(String[] args)
{
zip("D:\\ \\ttt.zip","D:\\ \\0628");
}
/**
* java.util.zip.ZipOutputStream ,
* org.apache.tools.zip.ZipOutputStream。
*/
public static void zip(String zipFileName,String srcFileName)
{
try
{
//
FileOutputStream f = new FileOutputStream(new File(zipFileName));
CheckedOutputStream ch = new CheckedOutputStream(f, new CRC32());
// ZIP
ZipOutputStream zipOut = new ZipOutputStream(
new BufferedOutputStream(ch));
//
zip(zipOut,srcFileName);
//
zipOut.close();
}
catch (Exception e)
{
System.out.println(e);
}
}
/**
* zip
* @param zipOut
* @param fileName
* @throws IOException 2009-9-24
*/
public static void zip(ZipOutputStream zipOut, String fileName) throws IOException
{
File srcFileName = new File(fileName);
if (srcFileName.isDirectory())
{
// ,
File[] files = srcFileName.listFiles();
for (File file : files)
{
zip(zipOut,file.getAbsolutePath());
}
}
else
{
//
String encode = "ISO8859_1";
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream(srcFileName), encode));
//
ZipEntry entry = new ZipEntry(srcFileName.getName());
zipOut.putNextEntry(entry);
//
int nNumber;
while ((nNumber = in.read()) != -1)
{
zipOut.write(nNumber);
}
in.close();
}
}
}