问题陈述: ClassName.class.getResourceAsStream() 如果路径是相对的,则不会加载/查找资源。如果路径是绝对的,它工作正常。
我最近从带有 JavaFx 2.1 的 Java 6 升级到带有 JavaFX 2.2 的 Java SE 7 u 7。它在早期版本的 JAvaFX 2.0 / Java FX 2.1 中运行良好。使用的 IDE 是 NetBean IDE 7.2。
我面临一个我觉得很奇怪的问题。我使用 IDE 创建了一个 JAVA FX 项目并尝试加载属性文件。指定绝对路径时它工作正常。但是当我更改为相对路径时,它会异常失败。
ClassName.class.getResourceAsStream("../resources/newproperties.properties"); // 不起作用。
ClassName.class.getResourceAsStream("/resources/newproperties.properties"); // 使用绝对路径。
然后,我使用 JAva 7u7 在 Netbeans 7.2 IDE 中创建了另一个 Simple Java 项目,并尝试使用 ClassName.class.getResourceAsStream("../newproperties.properties"); 加载属性文件。它适用于相对路径和绝对路径。基本上,如果是 JAVAFX 2.2 项目,它不会加载。如果它是一个简单的 java 项目,那么相同的代码可以工作,我觉得这很奇怪。
注意:上面的代码在 Java 6 和 Javafx 2.1 上运行良好。
任何帮助将不胜感激。