我有办法
private Properties loadProperties() throws IOException {
Properties configuration = new Properties();
InputStream inputStream = getClass()
.getResourceAsStream("/" + RESOURCE_FILE);
configuration.load(inputStream);
if (inputStream != null) {
inputStream.close();
}
return configuration;
}
此方法从属性文件加载属性并返回它。但是,我从该项目构建了着色 jar,并将着色 jar 添加到另一个项目中。当项目尝试执行此方法时,它抛出:
<块引用>java.nio.file.FileSystemNotFoundException
该项目在 windows 机器上运行,所以它应该有文件系统。为什么会发生这种情况?
答案 0 :(得分:0)
与“Windows 文件系统”无关。您从 jar 文件中读取文件,而 JAVA 要求 jar 文件必须包含您要读取的文件。确保
InputStream inputStream = getClass()
.getResourceAsStream("/" + RESOURCE_FILE);
RESOURCE_FILE 正确包含在 JAR 文件中。例如。 /dir/fileName 其中 RESOURCE_FILE 应该是 dir/fileName