Chinaunix首页 | 论坛 | 博客
  • 博客访问: 337401
  • 博文数量: 297
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3065
  • 用 户 组: 普通用户
  • 注册时间: 2019-06-17 10:57
文章分类

全部博文(297)

文章存档

2022年(95)

2021年(201)

2019年(1)

我的朋友

分类: Java

2022-02-23 22:01:00


点击(此处)折叠或打开


  1. ackage org.fh.util;

  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import java.io.FileOutputStream;
  5. import java.util.zip.ZipEntry;
  6. import java.util.zip.ZipOutputStream;

  7. /**
  8.  * 说明:java压缩成zip
  9.  * 作者:FH Admin
  10.  * from:fhadmin.cn
  11.  */
  12. public class FileZip {

  13.     /**
  14.      * @param inputFileName 你要压缩的文件夹(整个完整路径)
  15.      * @param zipFileName 压缩后的文件(整个完整路径)
  16.      * @throws Exception
  17.      */
  18.     public static Boolean zip(String inputFileName, String zipFileName) throws Exception {
  19.         zip(zipFileName, new File(inputFileName));
  20.         return true;
  21.     }

  22.     private static void zip(String zipFileName, File inputFile) throws Exception {
  23.         ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));
  24.         zip(out, inputFile, "");
  25.         out.flush();
  26.         out.close();
  27.     }

  28.     private static void zip(ZipOutputStream out, File f, String base) throws Exception {
  29.         if (f.isDirectory()) {
  30.             File[] fl = f.listFiles();
  31.             out.putNextEntry(new ZipEntry(base + "/"));
  32.             base = base.length() == 0 ? "" : base + "/";
  33.             for (int i = 0; i < fl.length; i++) {
  34.                 zip(out, fl[i], base + fl[i].getName());
  35.             }
  36.         } else {
  37.             out.putNextEntry(new ZipEntry(base));
  38.             FileInputStream in = new FileInputStream(f);
  39.             int b;
  40.             while ((b = in.read()) != -1) {
  41.                 out.write(b);
  42.             }
  43.             in.close();
  44.         }
  45.     }
  46.     
  47.      public static void main(String [] temp){
  48.          try {
  49.              zip("E:\\ftl","E:\\test.zip");//你要压缩的文件夹 和 压缩后的文件
  50.              }catch (Exception ex) {
  51.                  ex.printStackTrace();
  52.              }
  53.         }
  54. }


阅读(157) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~