关于zip包解压之后文件打开出现文件损坏的问题
问题:
问题代码
@Testvoid test1(){File file = new File("D:\\huang\\pretmp\\files\\wisdomAudit\\upload\\1560561335540670464-需求数据填报导出表.xlsx");try (FileInputStream in = new FileInputStream(file)){ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream("D:\\huang\\pretmp\\wwww.zip"));if (file.isDirectory()){File[] files = file.listFiles();for (File file1 : files) {zipOut.putNextEntry(new ZipEntry(file1.getName()));int temp;byte[] bytes = new byte[1024];while ((temp=in.read(bytes))!=-1){zipOut.write(bytes,0,temp);}}}else{zipOut.putNextEntry(new ZipEntry(file.getName()));int temp;byte[] bytes = new byte[1024];while ((temp=in.read(bytes))!=-1){zipOut.write(bytes,0,temp);}}}catch (Exception e){e.printStackTrace();}}
问题排查原因:是因为zip流没有关,因此将ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream("D:\\huang\\pretmp\\wwww.zip"));放到try-resource里面,会自动关流
@Testvoid test1(){File file = new File("D:\\huang\\pretmp\\files\\wisdomAudit\\upload\\1560561335540670464-需求数据填报导出表.xlsx");try (FileInputStream in = new FileInputStream(file);ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream("D:\\huang\\pretmp\\wwww.zip"));){if (file.isDirectory()){File[] files = file.listFiles();for (File file1 : files) {zipOut.putNextEntry(new ZipEntry(file1.getName()));int temp;byte[] bytes = new byte[1024];while ((temp=in.read(bytes))!=-1){zipOut.write(bytes,0,temp);}}}else{zipOut.putNextEntry(new ZipEntry(file.getName()));int temp;byte[] bytes = new byte[1024];while ((temp=in.read(bytes))!=-1){zipOut.write(bytes,0,temp);}}}catch (Exception e){e.printStackTrace();}
重新启动代码即可
关于zip包解压之后文件打开出现文件损坏的问题相关推荐
- linux zip 包解压失败
linux zip包解压失败 Linux 下,使用unzip解压时,报错: $ unzip LINUX.X64_193000_db_home.zip 报错: Archive: LINUX.X64_19 ...
- php 解压dat,如何打开dat文件?
微信dat转码软件使用操作说明在线解码,各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢?这里会为大家一一道来.问题1 :如果下载失败怎么办?请先检查网络,软件并没有放在 ...
- Java实现Zip包解压
直接上代码: public static void zipDecompress(String sourcePath,String desPath){try {ZipFile zipFile = new ...
- linux zip包解压乱码
windows 压缩好 资源包,假设为 a.zip 如果在linux直接解压缩 unzip a.zip 会出现乱码 解决方案: unzip -O GBK a.zip -O为指定解压缩的字符集编码 wi ...
- Android开发之Zip下载解压
本篇博客为需求而发烧,若有雷同需求code拿走不谢. 需求如下:点击Item,从服务器下载zip包到本地文件夹并解压,解压后的图片文件全部查询出来,用于界面预览 没有强制每次都下载zip包保持最新,如 ...
- 微信小程序下载zip压缩包后解压,并且打开文件查看的内容
在开发pc端后台管理系统的时候,经常会遇到这样的需求:下载zip到本地,然后用户双击压缩包,并借助电脑端的压缩软件打开压缩包,就可以查看里面的word.excel.pdf文件里面的内容.(这种需求,毫 ...
- Unity 工具类 之 WWW/UnityWebRequest 下载压缩文件(zip),解压到本地且加载使用解压数据的简单案例(内也含压缩文件例子)
Unity 工具类 之 WWW/UnityWebRequest 网络下载压缩文件(zip),解压到本地,且加载使用解压数据的简单案例(内也含压缩文件例子) 目录 Unity 工具类 之 WWW/Uni ...
- 使用Java生成的ZIP压缩包解压时出现不可预料的压缩文件末端的解决方案
使用Java生成的ZIP压缩包解压时出现不可预料的压缩文件末端的解决方案 问题描述: 如下图所示,在解压Java程序生成的ZIP压缩包时出现不可预料的压缩文件末端, 问题分袖: 出现上面的情况,大概有 ...
- Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法 参考文章: (1)Wind ...
最新文章
- celery 停止任务_celery异步任务框架
- WinServer-FTP搭建
- couchdb 任意命令执行漏洞 cve-2017-12636
- mssql sqlserver in 关键字在值为null的应用举例
- chrome浏览器无法上网_浏览器无法上网
- 数据智能构建管理平台Dataphin V2.9.4.3版本发布
- 0x84bb0001 sqlserver_sqlserver 实现收缩数据库日志操作
- 关于一些blog优化
- Ubuntu 安装 Sun JDK
- fork()使用(一)
- php追加数据,php追加数据到mysql
- 超详细大学生申请软件著作权登记模板及教程
- linux btrfs 格式化,Btrfs 文件系统修复技巧
- matlabsvd提取特征值_matlab特征值分解和奇异值分解
- windows powershell实战指南(第3版)_Windows命令行工具cmder配置(转)
- 陀螺仪加速度计 JY61(MPU6050) 原理简述及缺陷分析
- 键盘音效,使得敲代码更加给力
- Python 处理日期与时间的全面总结
- 如何防止SQL注入攻击?
- 对Java的三层架构的理解
热门文章
- html5:制作一份邀请函
- Dart(5)-内置类型
- 亚马逊Amazon SP-API注册申请和授权对接开发和亚马逊SP-API开发人员注册资料的注意事项,PII申请的事项
- 积累小结-无法将文件”obj\debug\XXX.dll复制到“bin\Debug\XXX.dll” 拒绝访问
- Facebook老员工的十点经验
- win10 win7 php,win10装win7双系统引导
- Dev-C++ win10中文乱码
- 软件测试2022年终总结
- 54. Java序列化三连问,是什么?为什么需要?如何实现?
- 美女硕士养猪记:如何用大数据激活一头猪