file - Java JAR 找不到文件

标签 file jar reference path load

我在 eclipse 中运行一个程序,该程序引用了程序源文件夹中的一个文件。但是,当我将程序导出到可运行的 JAR 中时,该程序似乎找不到该文件。从本质上讲,该程序在 eclipse 中完美运行,但当它是一个独立程序时就不行了。

我附上了一张我如何在程序中引用文件的照片。

enter image description here

最佳答案

一旦它在 jar 里,你就无法使用 new File() 找到它。 -- 它现在是一个类路径资源。您需要使用 this.getClass().getResourceAsStream("/TestFileFolder/TRANSFER.xls"); (或者,如果您的方法是静态的,则需要使用 className.class 代替 getClass() )。

这实际上是一个功能——如果出于任何原因您需要更改 TRANSFER.xls资源,您可以通过在类路径中隐藏它来实现,而无需重新打包 jar。

关于file - Java JAR 找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20451386/

相关文章:

r - R中的 "permisson denied"如何删除文件?

c - system() 输出到 char*

jar - 在java 9中使用jdeps为自动模块创建模块信息

c++ - 为什么不能将临时对象作为 ref args 发送给 C++ 中的函数?

c# - 大文件上传(WebException : The connection was closed unexpectedly)

c++ - 从文件中将对象读入数组,反之亦然

Java 使用命令行覆盖依赖关系

java - 无法在另一台电脑上执行 JAR 文件

c++ - 函数如何使用引用返回所需的数字?

c++ - 通过引用从 std::list 中移除元素