使用 Java 访问 JAR 文件中的资源
使用 JAR 文件时,可能需要检索嵌入资源的路径。但是,尝试使用以下技术获取路径:
ClassLoader classLoader = getClass().getClassLoader(); File file = new File(classLoader.getResource("config/netclient.p").getFile());
可能会产生错误,指示找不到指定的文件。此行为是 Java JAR 文件结构所固有的。
导致此结果的原因是 JAR 中包含的资源不一定可以作为文件系统上的单独文件使用。它们可能会被压缩或存储在存档中,从而无法直接访问文件系统。
此外,依赖 java.io.File 进行资源访问可能不是最有效或可移植的方法。相反,请考虑以下选项:
classLoader.getResource("config/netclient.p")
这种方法提供了对资源流的访问,但不提供文件路径。
InputStream in = classLoader.getResourceAsStream("config/netclient.p"); FileOutputStream out = new FileOutputStream(new File("tmp/" + fileName));
这允许您在指定的临时目录中创建资源的文件版本。
以上是如何使用 Java 访问 JAR 文件中嵌入的资源?的详细内容。更多信息请关注PHP中文网其他相关文章!