从jar中读取文件的路径可能是这样:
file:/D:/tests.jar!/config.properties
要读取文件需要使用到JarFile. 这里做个备忘.
/**
*
* @param filePath
* @return
* @throws IOException
*/
private InputStream getInputStreamFromJar(String filePath) throws IOException {
int pos = filePath.lastIndexOf("/");
String name = filePath.substring(pos + 1);
JarFile jarFile = new JarFile(filePath.substring(6, pos - 1));
JarEntry entry = jarFile.getJarEntry(name);
return jarFile.getInputStream(entry);
}
这个代码在windows平台下没有问题, 但是在linux下会出现异常:
引用
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
不知道什么原因:(
分享到:
相关推荐
要从 JAR 文件中得到它所包含的文件内容,可以使用 Java 提供的 JarFile 类,它是一个 .jar 文件自身的引用。其中的每个文件则由 JarEntry 引用。可以传递一个参数给 JarFile 的构造函数创建一个 JarFile 实例,这个...
在Java编程中,有时我们需要从已经打包的JAR文件中读取特定的资源文件,例如配置文件、图片或库。本篇文章将详细讲解如何在Java中实现从JAR包中读取指定文件的方法。 首先,Java提供了`java.util.jar`包,其中包含...
JD-GUI是Java反编译器的一种,它提供了一个图形用户界面,可以直接打开并查看JAR文件中的源代码。这个1.4.0版本是官方发布的,虽然不是原创代码,但它是经过验证和广泛使用的,可以可靠地将字节码转换回可读的Java源...
在`AppProperties`类中,我们可以定义属性的字段,并通过`@ConfigurationProperties`注解指定前缀,Spring Boot会自动从配置文件中匹配并注入值。 为了使Spring Boot能够找到JAR内的配置文件,可以在`src/main/...
本文将详细介绍如何在Eclipse中将项目打包成JAR文件,并确保能正确引用外部JAR包和读取外部配置文件。 首先,我们来看如何打包项目为JAR。在Eclipse中,选择`Export` -> `Java` -> `Runnable JAR file`。在弹出的...
在Java编程中,读取jar包内的文件是一个常见的需求,特别是在运行时动态加载资源或类文件时。Java提供了一种内置的方式,通过`java.util.jar`包中的`JarFile`和`JarInputStream`类来实现这个功能。下面将详细介绍...
这个类允许你逐个读取JAR文件中的条目,而无需一次性加载所有内容到内存。 3. **使用`getResourceAsStream()`**: - 对于在类路径中(包括JAR文件)的资源,你可以使用`Class.getResourceAsStream()`或`...
本篇将深入讲解如何从JAR文件中读取文本数据,这对于处理包含大量文本资源的应用来说是至关重要的。 首先,理解JAR文件结构至关重要。JAR文件实质上是一个ZIP文件,包含了目录结构和压缩文件。每个文件在JAR中都有...
要从JAR文件中读取内容,Java提供了一个内置的`java.util.jar`包,其中包含`JarFile`和`JarEntry`类。以下是一步步实现这个功能的方法: 1. **打开JAR文件**:使用`JarFile`类的构造函数,传入JAR文件的路径。这将...
标题"读取war包或jar包内的文件"涉及到的知识点主要是如何在程序中动态地获取并读取这些归档文件中的内容,这对于理解和处理Java应用的部署和运行至关重要。这篇博客(虽然链接未提供具体内容)可能探讨了以下关键点...
本资源包聚焦于这个主题,包含了一系列jar包以及两个.java示例文件,帮助我们深入理解如何在Java环境中读取和解析Excel内容。 首先,让我们了解一下核心的jar包。这些jar包通常包含了用于操作Excel文件的API,例如...
jar(Java Archive)是Java平台的一种标准归档格式,用于集合多个类文件以及相关的元数据到一个单一的文件中,便于分发和运行。class文件则是Java源代码经过编译后生成的字节码文件,包含了程序的可执行代码。本文将...
读取所有的jar包文件
这个工具的工作原理是读取用户定义的规则,然后按照这些规则对原始JAR文件中的类进行操作,最终生成一个新的JAR文件。`jarjar`的使用通常涉及以下几个步骤: 1. **编写规则文件**:`rule.txt`就是这样的规则文件,...
2. 读取jar文件:使用java.util.jar.JarFile和java.util.jar.JarEntry读取jar文件中的资源文件。 3. 加载资源文件:使用java.io.InputStream读取资源文件的内容。 三、Java读取Jar中资源文件的示例代码 以下是Java...
在Java中,JAR(Java Archive)文件是一种归档格式,用于将多个类文件和其他资源组合到一个单一的文件中,方便分发和执行。然而,一旦JAR文件被创建,通常情况下是无法直接修改其内部内容的,因为它们是以只读方式...
本文将详细讲解如何实现这一目标,主要关注于读取和修改JAR文件中的类(如DbParamDlg.java)。 首先,让我们了解JAR文件的结构。JAR(Java Archive)是Java平台特有的归档格式,它用于集合多个类文件和其他资源,...
作为Android程序开发,我们自己在实际项目的开发过程中,经常会遇到我们打的Jar包需要动态的读取主项目工程中的资源文件,那么有没有一种好的方式,能够让Jar包非常方便的读取与展示主工程中的资源文件呢?...
运行这个示例,你可以看到如何从 Ini 文件中提取数据并进行操作。确保替换`"path_to_your_ini_file.ini"`为你的 Ini 文件的实际路径。 总的来说,Java通过引入第三方库如Apache Commons Configurations,可以方便地...