我遇到了

java.util.zip的奇怪行为.*

我有一个zip文件,在解压缩后会发生这种情况

ZipFile zipfile = new ZipFile(file, ZipFile.OPEN_READ);

这是exaxt错误消息

java.util.zip.ZipException: error in opening zip file

at java.util.zip.ZipFile.open(Native Method)

at java.util.zip.ZipFile.(ZipFile.java:127)

at java.util.zip.ZipFile.(ZipFile.java:143)

at com.basware.ExtractZip.unpack(ExtractZip.java:27)

at com.basware.ExtractZip.main(ExtractZip.java:17)

但是,如果我使用以下代码,它可以打开存档而不会出现任何错误

try {

BufferedOutputStream dest = null;

File file = new File("File_Path");

FileInputStream fis = new FileInputStream(file);

ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));

ZipEntry entry;

while((entry = zis.getNextEntry()) != null) {

System.out.println("Extracting: " +entry);

int count;

byte data[] = new byte[BUFFER];

// write the files to the disk

FileOutputStream fos = new

FileOutputStream(entry.getName());

dest = new

BufferedOutputStream(fos, BUFFER);

while ((count = zis.read(data, 0, BUFFER))

!= -1) {

dest.write(data, 0, count);

}

dest.flush();

dest.close();

}

zis.close();

请注意,使用WinZIP压缩文件.

我的问题是ZipFile和ZipInputStream几乎相同,为什么ZipFile给出异常以及为什么它无法执行解压缩.

编辑:问题是如果我使用WinZip工具压缩文件,然后使用列出的程序解压缩它工作正常.但是,这个问题是专门针对来自外部源的归档(外部来源声称他们正在使用WinZip).On最重要的是,如果我使用WinZip工具打开相同的存档(外部存档),它会显示和解压缩文件.但是这个JAVA特定代码(ZipFile)根本不起作用.

编辑:我无法弄清楚为什么java本机代码不能用于我的ZIP存档,但apache压缩解决了我的问题.它正在为我工​​作,如Ian Roberts所建议的.

java zip解压抛出异常,java – ZipFile抛出错误,但ZipInputStream能够解压缩归档相关推荐

  1. java zip解压

    前言:zip解压Windows默认是GBK,Mac默认是UTF-8,为了保证都可以解压,就需要根据不同的文件设置不同的编码格式,本文解决方案是根据是否乱码来判断(详见下文) 如果解压过程中不需要操作文 ...

  2. java zip解压 中文_java解压ZIP 解决中文乱码 (GBK和UTF-8)

    java解压ZIP 解决中文乱码 (GBK和UTF-8) 工具使用 : zip4j GitHub : zip4j 版本 : 2.2.8 Maven : net.lingala.zip4j zip4j ...

  3. Java zip解压,并遍历zip中的配置文件 .cfg或.properties

    1.解析cfg或properties配置文件 讲配置文件,读取,并封装成为map类型数据 /*** 解析cfg文件** @param cfgFile* @return*/public static M ...

  4. java zip解压_Java语言入门第一课

    Java最初的目标是嵌入式设备,不过在嵌入式设备方面并未取得成功.失之东隅,收之桑榆,Java却在Web领域被广泛接受.近年来,随着Java在服务器领域的不断突破,让这门语言越来越流行. 有人喜欢Ja ...

  5. java zip 解压 密码_Java解压和压缩带密码的zip文件过程详解

    前言 JDK自带的ZIP操作接口(java.util.zip包,请参看文章末尾的博客链接)并不支持密码,甚至也不支持中文文件名. 为了解决ZIP压缩文件的密码问题,在网上搜索良久,终于找到了winzi ...

  6. Java zip解压工具类

    分享一个自己用的zip工具类 public class ZipUtils {public static void unZip(File srcFile, String destDirPath) thr ...

  7. java gzip 解压文件_Java实现文件压缩与解压[zip格式,gzip格式]

    原文:http://www.cnblogs.com/visec479/p/4112881.html#3069573 Java实现ZIP的解压与压缩功能基本都是使用了Java的多肽和递归技术,可以对单个 ...

  8. Java递归解压zip压缩包

    场景:zip压缩包里面嵌套多层文件夹或者zip压缩包: 使用递归的方式进行解压,解压后得到的目录结构和压缩包目录结构完全一致,非常好用! package com.zhh.api.util;import ...

  9. java 万能解压zip工具类

    项目中有需要解压zip包,但是网上搜了下,工具类过于局限,故整理一个万能的解压zip的工具类.如果大家有更好的方式欢迎交流! 工具类1: /*** 解压文件到指定目录** @param zipFile ...

  10. Java代码解压RAR/ZIP文件

    pom.xml <!-- 导入zip解压包 --> <dependency><groupId>ant</groupId><artifactId&g ...

最新文章

  1. 设计模式之抽象工厂模式学习笔记
  2. 第三章-分布式文件系统HDFS
  3. HITAG 2 125kHz RFID IC Read-Write 256 bits
  4. Qt QGraphics体系及刷新机制介绍
  5. 报名啦!阿里云智能客服对话式AI算法大赛之知识图谱构建与问答
  6. C#实现文件下载代码
  7. Spark K-Means
  8. Python 第三方模块之 beautifulsoup(bs4)- 解析 HTML
  9. 8s存储最佳方案_MaxiDi, 意大利:自动化物流解决方案
  10. 如何巧妙将流量转化为销量?
  11. 远程桌面管理工具的使用
  12. wireshark win7无响应
  13. 树莓派 linux安装中文语言包6,Linux下给树莓派安装及配置系统-Go语言中文社区
  14. 尘埃4 for Mac(DiRT4赛车竞速游戏)原生版
  15. SSM车辆维修管理系统毕业设计总结篇
  16. HEVC学习(二十八) —— 量化之二
  17. k8s-存储-Secret
  18. Java Swing写简单计算器以及拓展贷款计算器(等额本息和等额本金计算可以单独拿出来用)
  19. 微分中值定理及其应用——(不定式极限洛必达法则)
  20. 计算机基本操作知识课本内容阅读,计算机基础知识及基本操作

热门文章

  1. ps快捷键大全(表格汇总)
  2. java注释/关键字/标识符/常量/
  3. 格力不需要“第二个董明珠”
  4. Mac 电脑锁屏快捷方法
  5. 如何做好科研实验记录
  6. Ubuntu18.04 (WSL) 编译RK3399 Android8.1源码
  7. Linux与Windows设置共享文件夹的实现
  8. python 读取.sgy地震文件到三维ndarray矩阵,(全网仅此一份)
  9. PS教程:逼真的模特投影
  10. Python数据分析-房价的影响因素图解