import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/*** @author tengyunyang* @date 2019/8/13 8:48*/
public class FileZip {/*** @param inputFileName 你要压缩的文件夹(整个完整路径)* @param zipFileName 压缩后的文件(整个完整路径)* @throws Exception*/public static Boolean zip(String inputFileName, String zipFileName) throws Exception {zip(zipFileName, new File(inputFileName));return true;}private static void zip(String zipFileName, File inputFile) throws Exception {ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));zip(out, inputFile, "");out.flush();out.close();}private static void zip(ZipOutputStream out, File f, String base) throws Exception {if (f.isDirectory()) {File[] fl = f.listFiles();if(!"".equals(base))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;//System.out.println(base);while ((b = in.read()) != -1) {out.write(b);}in.close();}}public static void main(String [] temp){try {zip("E:\\ftl","E:\\test.zip");//你要压缩的文件夹 和 压缩后的文件}catch (Exception ex) {ex.printStackTrace();}}
}