java 压缩文件夹有几率压缩失败,打开显示不可预料的末端且用其他专业软件解压文件没压缩完全,求解

代码如下:

/*** 批量压缩文件(夹)** @param resFileList 要压缩的文件(夹)列表* @param zipFile     生成的压缩文件* @param comment     压缩文件的注释* @throws IOException 当压缩过程出错时抛出public static boolean zipFiles(Collection<File> resFileList, File zipFile, String comment) {boolean bool = false;BufferedOutputStream fo = null;ZipOutputStream zipout = null;try {fo = new BufferedOutputStream(new FileOutputStream(zipFile), BUFF_SIZE);zipout = new ZipOutputStream(fo);int totalSize = resFileList.size();int count = 0;for (File resFile : resFileList) {zipFile(resFile, zipout, "");++count;}bool = true;} catch (Exception e) {e.printStackTrace();bool = false;} finally {if (zipout != null) {try {zipout.close();} catch (IOException e) {e.printStackTrace();}}if (fo != null) {try {fo.close();} catch (IOException e) {e.printStackTrace();}}}return bool;
}/*** 压缩文件** @param resFile  需要压缩的文件(夹)* @param zipout   压缩的目的文件* @param rootpath 压缩的文件路径* @throws FileNotFoundException 找不到文件时抛出* @throws IOException           当压缩过程出错时抛出*/
private static void zipFile(File resFile, ZipOutputStream zipout, String rootpath) throws FileNotFoundException, IOException {rootpath = rootpath + (rootpath.trim().length() == 0 ? "" : File.separator) + resFile.getName();// rootpath = new String(rootpath.getBytes("8859_1"), "GB2312");if (resFile.isDirectory()) {File[] fileList = resFile.listFiles();for (File file : fileList) {zipFile(file, zipout, rootpath);}} else {if (resFile.length() == 0) {return;}byte buffer[] = new byte[BUFF_SIZE];BufferedInputStream in = new BufferedInputStream(new FileInputStream(resFile), BUFF_SIZE);zipout.setMethod(ZipOutputStream.DEFLATED);zipout.setLevel(Deflater.BEST_COMPRESSION);zipout.putNextEntry(new ZipEntry(rootpath));int realLength;while ((realLength = in.read(buffer)) != -1) {zipout.write(buffer, 0, realLength);}zipout.flush();in.close();zipout.closeEntry();}
}

}

java 压缩文件夹有几率压缩失败,打开显示不可预料的末端且用其他专业软件解压文件没压缩完全相关推荐

  1. 计算机新建文件夹的步骤打开,电脑怎样为自己新建的文件夹加密,只能自己打开. 爱问知识人...

    一.加密文件或文件夹 步骤一:打开Windows资源管理器. 步骤二:右键单击要加密的文件或文件夹,然后单击"属性". 步骤三:在"常规"选项卡上,单击&quo ...

  2. WinRAR压缩解压文件

    使用WinRAR压缩管理器压缩解压文件详细步骤如下: ■ 压缩文件 ① 鼠标右键需要压缩的文件,点击"添加到压缩文件",具体操作步骤如图所示: ② 压缩后的对应文件压缩包会显示在桌 ...

  3. (压缩包在本地目录或由链接请求)使用jszip解压文件或compressing解压文件到指定目录,写个node脚本

    使用jszip解压文件与compressing解压zip文件到指定目录 一.介绍jszip和compressing模块 jszip和compressing模块都是可以压缩和解压缩zip文件,都可以通过 ...

  4. 电脑解压文件丢失怎么找回来?四种恢复方法

    您在使用电脑过程中,有没有解压过文件呢?如果有的话,是否出现过解压文件丢失的情况呢?解压文件通俗易懂地讲就是把压缩好了的文件解开.而有些小伙伴在解压文件以后发现丢失了,这些丢失的文件或许是您重要的im ...

  5. 压缩包文件解压文件是需要密码

    压缩包文件在压缩的时候需要输入密码,这是因为文件在被压缩的时候设置了加密,只有输入正确的密码才能够解压文件,不知道密码的话,也没有办法直接销毁密码或者是绕开密码解压文件,你能够做的就只有尝试找回密码再 ...

  6. 解压文件出错解决方法(invalid compressed data--format violated)

    解压文件出错解决方法(invalid compressed data--format violated) 参考文章: (1)解压文件出错解决方法(invalid compressed data--fo ...

  7. Java代码实现解压文件包和压缩文件的工具类

    最近开发任务比较多,这两天陆陆续续整理了一点资料上传一下,这个是前段时间用到的解压和压缩文件的工具类,网上找了一些,自己补充一下,现在先分享一下,希望对各位同学有所帮助! package com.as ...

  8. java代码实现解压文件_Java压缩/解压文件的实现代码

    用java压缩/解压文件: import java.io.*; import java.awt.*; import java.awt.event.*; import java.util.*; impo ...

  9. 解压特定zip压缩文件中特定文件,Java

    解压特定zip压缩文件中指定文件,Java 有些时候,zip压缩文件特别大动辄几GB,但是只想要其中某一个特定文件,此时就完全没必要把全量文件都解压出来,只需解压指定文件即可. public stat ...

  10. vb.net 解压缩(文件/文件夹解压缩,zip文件浏览,单文件解压,分卷压缩)

    vb.net 解压缩(文件/文件夹解压缩,zip文件浏览,单文件解压,分卷压缩) DLL:Ionic.Zip.dll 说明: 1.解压/压缩 显示加密进度及总进度. 2.zip文件打开,浏览内部文件. ...

最新文章

  1. 前后端对接的思考及总结
  2. 掌握 Ajax,第 7 部分: 在请求和响应中使用 XML
  3. boost::process::args相关的测试程序
  4. 设置storage模块的数据库操作支持、添加仓储分类列表接口(dao层)
  5. 基本注射/资格赛,范围
  6. mysql创建师徒_[郑州|结业弟子]JAVA-乔兆年|2020年05月09日的日报-技能树.IT修真院...
  7. Eclipse 快捷键整理
  8. talend工具中往oracle插数据报ORA-01461: can bind a LONG value only for insert into a LONG colum...
  9. DELPHI 对象的本质 VMT
  10. 新欢乐时光病毒程序源码分析
  11. 哪些学校考研计算机自命题,计算机考研自主命题学校
  12. 《失业的程序员》(十二):潜意识的智商
  13. Android模拟器的安装、连接和操作
  14. Redis(五)Redis内存维护方案(过期策略及淘汰策略)
  15. Win10报错 Windows 找不到文件 “(null)“请确定文件名是否正确后,再试一次。
  16. kali下载gnuplot步骤
  17. ZYNQ-使用SD卡读写文本数据
  18. 【GitLens】VsCode插件,查看代码是谁写的
  19. SpaceVim 中文教程
  20. 海康威视多摄像头实时视频预览(基于SDK的二次开发)

热门文章

  1. 数据链路层 - MTU 、ARP协议
  2. 上海交通大学计算机科学与技术招生网,上海交通大学计算机科学与技术研究生招生...
  3. 游戏命中判定:圆桌算法和程序实现
  4. 联想电脑键盘M,J,K,L,U,I,O,?按键变成0,1,2,3,4,5,6,+的解决方法
  5. WIN10 任务栏转圈 白屏问题
  6. 一篇文章彻底搞懂海明码
  7. dest在C语言什么作用,目前最全面的dest答疑问题及相关回答
  8. matlab plot函数详解
  9. w7无法訪问计算机上硬盘分区,Win7/win10双系统无法打开磁盘分区提示拒绝访问怎么解决...
  10. Docker - debian 7 安装