zoukankan      html  css  js  c++  java
  • [java bug记录] java.util.zip.ZipException: invalid code lengths set

    1. 描述:将代码迁移到maven工程,其中用ZipInputStream读取/src/main/resources下的zip文件时报错:“java.util.zip.ZipException: invalid code lengths set”

    代码如下:

    ZipInputStream zis = new ZipInputStream(getClass().getResourceAsStream(objectDicFilePath));

    zis.getNextEntry();

    ObjectInputStream ois = new ObjectInputStream(zis);

    2. 原因:maven从resources中读取资源时默认会进行过滤,其中包含了重新编码,因此如果资源文件与maven的编码环境不同时,会导致文件损坏。

    3. 解决:

    (方案1)在pom.xml中设置filtering为true时则过滤

    <filtering>true</filtering>
    

    因此将其置false。

    (方案2)或者,将

    <encoding>ISO-8859-1</encoding>

    改为资源文件的编码格式。

    (方案3)把资源文件zip解压后放入resources,我最后这么做的。

  • 相关阅读:
    IO流上机作业
    数据结构堆排序
    数据结构实训报告
    字符串的基本操作
    java窗口的简单切换
    判断一个串B位于串A的位置
    c语言实现数组转置,加减,乘法运算
    java异常处理
    弹奏乐器
    课程总结
  • 原文地址:https://www.cnblogs.com/llxrl/p/5884978.html
Copyright © 2011-2022 走看看