`

[转]压缩解压文件异常

    博客分类:
  • java
阅读更多
来源:http://www.myexception.cn/program/1054069.html


1、ZIP文件解压的时候出现错误:‍Negative seek offset

   原因:把rar文件直接改为ZIP

   必须要 重新压缩为ZIP文件 不能直接修改文件名


2、Exception in thread "main" java.lang.NoSuchMethodError: org.apache.tools.zip.ZipEntry: method <init>()V not found

   原因:缺少ant.jar包或ant.jar版本不对(见4)

   到这里下载一个:http://ant.apache.org/bindownload.cgi导入到工程就哦了


3、Bad version number in .class file

   原因:支撑Tomcat运行的JDK版本与支撑application运行的JDK版本不一致导致的.


4、Exception in thread "main" java.lang.NoSuchFieldError: EOCD_SIG或java.lang.NoSuchMethodError: org.apache.tools.zip.ZipOutputStream.<init>(Ljava/io/File;)V

   原因:ant.jar版本的问题。如:

   工程使用的是1.6及以上的版本,测试没有问题。打war包的时候,其它工程的第三方类库依赖了低于1.6版本的ant.jar。运行时低版本的先加载,JVM通过反射去低版本里找高版本才有的属性或方法,导致此异常。

   通过修改jvm参数来模拟,让Bootstrap ClassLoader在加载完JDK基础类库后,加载低于1.6版本的ant.jar:
-Xbootclasspath/a:D:/repository/org/apache/ant/ant/1.5.3/ant-1.5.3.jar

import org.apache.tools.zip.ZipFile;
import org.apache.tools.zip.ZipOutputStream;

public class ZipAntVersionTest {

	public static void main(String[] args) throws IOException {
		ZipFile zipFile = new ZipFile("D:/test.zip");
		//File file = new File("D:/test.zip");
		//ZipOutputStream zos = new ZipOutputStream(file); // 抛出java.lang.NoSuchMethodError: org.apache.tools.zip.ZipOutputStream.<init>(Ljava/io/File;)V异常
	}
}


工程中的ant.jar版本为1.6.x时,实例化ZipFile时抛出:
java.lang.IllegalAccessError: tried to access field org.apache.tools.zip.ZipOutputStream.EOCD_SIG from class org.apache.tools.zip.ZipFile异常

版本大于等于1.7.0时,实例化ZipFile时抛出:
java.lang.NoSuchFieldError: EOCD_SIG异常
分享到:
评论

相关推荐

    易语言模块文件压缩解压.rar

    在“易语言模块文件压缩解压.rar”这个压缩包中,包含的资源很可能是用于处理易语言程序中文件压缩和解压功能的模块。下面将详细介绍这个主题中的相关知识点。 一、易语言模块 易语言模块是易语言编程中的一个重要...

    易语言解压目录中的所有压缩文件源码.7z

    本文将深入探讨如何使用易语言来解压目录中的所有压缩文件,以及涉及的相关技术点。 1. **易语言基础** 易语言的核心设计理念是“易学、易用、易开发”,它提供了丰富的内置函数和组件,让编程变得直观。在易语言...

    java 解压,压缩linux GZ压缩文件

    在给出的代码中,有两个主要的方法:`testGzipOutput()`用于解压GZ文件,而`testUnGzipOutput()`用于压缩文件到GZ格式。下面我们将详细讨论这两个方法以及它们所涉及的Java API。 1. **解压GZ文件**(`...

    批量压缩解压文件(源码)

    在"批量压缩解压文件(源码)"这个项目中,我们可以推测包含的源码文件`BatchDoRAR`可能是一个C#程序,专门设计用于批量处理RAR格式的压缩文件。RAR是一种流行的压缩格式,由WinRAR软件支持,广泛用于数据归档和传输...

    zip文件压缩解压源码 (c++)

    总结来说,`zip文件压缩解压源码(C++)`涉及的关键技术包括:理解zip文件格式,使用C++进行文件操作,选择和应用压缩算法,以及错误处理。通过分析和理解`XUnzip.cpp`和`XZip.cpp`,我们可以学习如何在C++环境中...

    C# 压缩解压文件

    在C#编程中,压缩和解压缩文件是常见的任务,特别是在数据存储、传输或备份时。C#提供了多种方法来实现这一功能,包括使用.NET框架自带的类库和第三方库。我们将深入探讨如何使用C#进行文件的压缩与解压缩。 ### ...

    linux c压缩解压文件源码

    总的来说,这个源码提供了一种不依赖外部命令的自定义压缩解压方案,适用于对速度和内存使用有严格要求的场景。通过理解和使用这样的源码,开发者可以深入学习C语言编程、文件操作、内存管理和压缩算法,提升自己的...

    哈弗曼压缩解压文件

    哈弗曼编码是一种高效的数据压缩方法,由美国计算机科学家戴维·哈弗曼在1952年提出...通过理解以上知识点,我们可以设计并实现一个完整的哈弗曼压缩解压文件的Java程序,实现高效的数据压缩和还原,有效节省存储空间。

    C# 压缩解压文件程序

    在C#编程环境中,开发一个能够压缩和解压缩文件的程序是一项常见的任务,尤其是在处理大量数据存储和传输时...理解并熟练运用这些方法,你就能在VS2010或其他支持.NET Framework的环境中构建出功能完备的压缩解压工具。

    压缩/解压文件(支持rar,zip)

    此外,确保在处理文件时处理好异常,提供友好的错误提示。 总之,通过利用合适的库和编程技巧,我们可以在ASP.NET中实现RAR和ZIP文件的在线压缩和解压缩功能,为用户提供高效、稳定的服务。同时,持续关注和学习新...

    Java压缩解压文件

    这篇博客文章《Java压缩解压文件》可能会详细讲解如何使用Java API来处理ZIP文件格式。 在Java中,我们可以利用内置的`java.util.zip`包来处理压缩和解压操作。`ZipOutputStream`和`ZipInputStream`是这个包中的...

    利用ICSharpCode.SharpZipLib.dll实现文件压缩解压实例

    在.NET开发环境中,有时我们需要对文件或文件夹进行压缩和解压操作,这时可以借助第三方库来实现。本文将详细讲解如何使用ICSharpCode.SharpZipLib.dll这个开源库来实现这一功能。ICSharpCode.SharpZipLib是一个强大...

    C# SharpZipLib 压缩解压文件源码

    在"标题"中提到的"C# SharpZipLib 压缩解压文件源码"是一个示例项目,它演示了如何利用SharpZipLib库进行文件操作。 首先,我们需要了解SharpZipLib库的核心概念。SharpZipLib是由IC#Code开发的,它提供了对ZIP、...

    Java用GZIP压缩解压文件源码

    1. 文件操作可能抛出`IOException`,因此需要妥善处理异常,确保文件流在操作完成后被正确关闭。 2. 在实际开发中,通常会将压缩和解压缩功能封装到更高级别的服务或类中,以提供更友好的API。 3. 为了提高性能,...

    C#winform压缩解压文件夹

    解压缩文件夹则相对简单,主要涉及读取ZIP文件内容并将其解压到目标文件夹: 1. 创建ZipFile或FileStream对象,打开ZIP文件。 2. 遍历ZipFile的Entries,获取每个压缩条目。 3. 对于每个条目,检查是否为文件或目录...

    安卓java 压缩解压文件

    **解压文件:** 解压ZIP文件的过程则相反,需要创建一个`ZipInputStream`,并逐个读取并处理ZIP条目。以下是一般的解压步骤: 1. 打开ZIP文件的输入流。 2. 创建`ZipInputStream`,将输入流作为参数传入。 3. 循环...

    易语言解压目录中的所有压缩文件

    程序集”的模块,其中包含一个名为“解压文件”的函数,我们可以这样解压文件: ```易语言 如果 .扩展名 = “.zip” .解压结果 = 解压.程序集.解压文件(.文件列表[i], “C:\解压目标目录\”) 如果 .解压结果 ≠ 0...

    C#利用SharpZipLib进行压缩和解压

    在上面的代码中,我们使用了SharpZipLib库中的ZipInputStream类来读取压缩文件,并使用FileStream类来写入解压文件。我们首先检查文件是否存在,如果文件不存在,则抛出异常。然后,我们使用ZipInputStream类来读取...

    C#压缩/解压ZIP文件带密码功能

    在C#编程环境中,处理ZIP文件的压缩与解压是一项常见的任务,特别是在文件管理和数据传输中。本篇文章将深入探讨如何使用C#实现ZIP文件的压缩和解压,并且涵盖如何为ZIP文件设置密码,以增强文件的安全性。 首先,...

Global site tag (gtag.js) - Google Analytics