import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class FileZip { /** * @param inputFileName 你要压缩的文件夹(整个完整路径) * @param zipFileName 压缩后的文件(整个完整路径) */ public static void zip(String inputFileName, String zipFileName) throws Exception { zip(zipFileName, new File(inputFileName)); } private static void zip(String zipFileName, File inputFile) throws Exception { ZipOutputStream out = new ZipOutputStream(new FileOutputStream( zipFileName)); if(inputFile.isDirectory()) zip(out, inputFile, ""); else zip(out, inputFile, inputFile.getName()); out.flush(); out.close(); } private static void zip(ZipOutputStream out, File f, String base) throws Exception { if (f.isDirectory()) { File[] fl = f.listFiles(); out.putNextEntry(new ZipEntry(base + "/")); base = base.length() == 0 ? "" : base + "/"; for (int i = 0; i < fl.length; i++) { zip(out, fl[i], base + fl[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(); } System.out.println("压缩完毕"); } public static void main(String [] temp){ try { zip("D:\\web\\photo\\ueditor\\jsp\\upload\\image\\20160705\\abc.doc","D:\\web\\photo\\ueditor\\jsp\\upload\\image\\20160705\\abc.zip");//你要压缩的文件夹 和 压缩后的文件 // zip("D:\\web\\photo\\ueditor\\jsp\\upload\\image\\20160705","D:\\web\\photo\\ueditor\\jsp\\upload\\image\\20160705.zip"); }catch (Exception ex) { ex.printStackTrace(); } } } //=====================文件压缩========================= /*//把文件压缩成zip File zipFile = new File("E:/demo.zip"); //定义输入文件流 InputStream input = new FileInputStream(file); //定义压缩输出流 ZipOutputStream zipOut = null; //实例化压缩输出流,并制定压缩文件的输出路径 就是E盘下,名字叫 demo.zip zipOut = new ZipOutputStream(new FileOutputStream(zipFile)); zipOut.putNextEntry(new ZipEntry(file.getName())); //设置注释 zipOut.setComment("www.demo.com"); int temp = 0; while((temp = input.read()) != -1) { zipOut.write(temp); } input.close(); zipOut.close();*/ //==============================================