本文只针对压缩文件夹(不用于压缩文件,若需要,自行更改)

public class ZipTool {File f0; //被压缩的目标File f1;    //压缩后的目录及文件名public ZipTool(File f0, File f1) {this.f0 = f0;this.f1 = f1;start();}public void start() {try (ZipOutputStream out = new ZipOutputStream(new FileOutputStream(f1))) {File[] flist = f0.listFiles();//对输入目录进行查看for (File o : flist) {writeFile(o, out);}} catch (IOException e) {e.printStackTrace();}}public void writeFile(File f, ZipOutputStream out) {try {if (judgeFile(f)) {File[] flists = f.listFiles();//判断输入的文件夹是否有文件if (flists.length == 0) {String s = f.toString().substring(3);out.putNextEntry(new ZipEntry(s + " " + "/"));//空文件仅仅创建文件夹} else {//非空文件则遍历后创建文件for (File oo : flists) {writeFile(oo, out); //递归方法}}} else {InputStream in = new BufferedInputStream(new FileInputStream(f));int len;byte[] b = new byte[8192];String s = f.toString().substring(3);out.putNextEntry(new ZipEntry(s));while ((len = in.read(b)) != -1) {out.write(b, 0, len);}in.close();}} catch (IOException e) {e.printStackTrace();}}//写文件public boolean judgeFile(File f) {if (f.isDirectory()) {return true;//是文件夹就返回} else {return false;//不是就不返回}}//对文件夹处理
}

已知BUG:对于空文件夹的压缩,压缩后名字与原文件夹不相符

原因:因不知某因无法直接压缩空文件夹,故给空文件明加了个空字符串

流程:放目录→判断是否为文件夹→是→判断是否为文件夹→是 创建空文件夹

⬇否                                 否⬇

直接创建对应文件           递归到最开始

Java 压缩文件夹相关推荐

  1. java 压缩文件夹_java 实现压缩文件(单文件 或 文件夹)

    接着上篇了解一下java压缩实现过程,下面的是支持 单文件 或 文件夹 压缩的实现,使用递归. 效果: 代码: package com.gx.compress; import java.io.Buff ...

  2. 【转载】用java压缩文件夹/文件

    压缩文件夹代码: import java.io.File; import org.apache.tools.zip.ZipOutputStream; //这个包在ant.jar里,要到官方网下载 im ...

  3. java压缩文件夹(含有空文件夹)

    两种实现方式: java.util.zip.ZipOutputStream org.apache.tools.ant 注意 最初采用java.util.zip.ZipOutputStream的方式, ...

  4. linux下 java 压缩文件夹,java压缩文件夹linux下乱码问题

    前几天写了文章介绍java文件夹的压缩(见 http://zwllxs.iteye.com/blog/836483),但是发现一个问题,在linux下,如果文件夹内的文件是中文名,那么压缩后,这些文件 ...

  5. java zip文件夹_如何使用java压缩文件夹成为zip包

    展开全部 在JDK中有一个zip工具类:java.util.zip    Provides classes for reading and writing the standard ZIP and G ...

  6. java压缩文件夹并加密

    工作遇到,记录下 import net.lingala.zip4j.core.ZipFile; import net.lingala.zip4j.exception.ZipException; imp ...

  7. java快速压缩文件夹_如何使用java压缩文件夹本身

    它可以通过包java.util.Zip轻松解决,不需要任何额外的Jar文件 只需复制以下代码并使用IDE运行它 //Import all needed packages package general ...

  8. java 压缩文件tar_使用Java API进行tar.gz文件及文件夹压缩解压缩

    在java(JDK)中我们可以使用ZipOutputStream去创建zip压缩文件,(参考我之前写的文章 使用java API进行zip递归压缩文件夹以及解压 ),也可以使用GZIPOutputSt ...

  9. Java压缩文件和文件夹为zip格式

    工具类ZipUtils 如下: package utils;import java.io.File; import java.io.FileInputStream; import java.io.IO ...

  10. java压缩文件(夹)

    包含压缩文件或文件夹.压缩多个文件或文件夹.按数量分段压缩文件夹 使用带缓冲的输入流提高压缩速度 package com.client.util;import java.io.*; import ja ...

最新文章

  1. 佳铁怎样传输程序_佳铁传输4.0工具下载|佳铁传输4.0软件 4.0 官方最新版
  2. python杂记-读取png图像文件头数据
  3. 如何把一个PDF文件内的部分页码对应的内容导出成一个新的PDF文件
  4. shell 用环境变量的值修改properties文件
  5. 摇杆控制方向原理_图文全面讲解多种方向控制阀的原理和区别....
  6. linux qt 甘特图,qt绘制甘特图
  7. 已解决:TeamViewer使用的设备数量上限
  8. CVE2014-6287分析报告
  9. Vbox安装增强功能
  10. BT下载面临历史性转折
  11. mand-mobile 组件库 tab-bar组件滚动问题
  12. Github常用License总结(MIT/Apache/GPL)
  13. SpringCloud整合Sa-Token登录认证+Gateway网关拦截
  14. Jenkins 打包配置
  15. “鸡血驱动”为CS:GO、LOL注入“强心剂”!英特尔锐炫A750显卡实测
  16. 安防海量高清视频无损压缩—四川省智慧公共安全系统案例
  17. 微信小程序实战八:优惠券页面的实现
  18. C++模板——template
  19. Android 指南针
  20. Acwing第 47 场周赛【完结】

热门文章

  1. 查看oracle操作历史,查看操作历史记录
  2. 计算机网络hdcp是什么意思,NTSC,HDCP ,NTSC/HDCP是什么意思
  3. python测试开发面试题带答案整理
  4. 标题中冒号的用法_[转载]英文中冒号的用法
  5. 小米造车follow苹果路线?智能驾驶能力是个关键问题
  6. hadoop进阶---hadoop性能优化(一)---hdfs空间不足的管理优化
  7. 微积分(七)——一元函数积分学
  8. 阿里开源互动游戏引擎Eva.js
  9. 计算机毕业论文外文翻译是什么,毕业论文的外文翻译是什么
  10. 三阶魔方大中小魔公式_七步玩转三阶魔方还原公式及非公式步骤图解【新手适用超详细】...