class.getResourceAsStream找不到文件。

21 浏览
0 Comments

class.getResourceAsStream找不到文件。

问题

我正在加载一个YAML配置文件到Minecraft服务器插件中,但是它找不到文件/返回null。我尝试了所有方法。

我检查了文件是否存在于jar文件中,并将文件重命名为game_settings.yml.txt,但是没有成功。

我的包结构

+- src [资源根目录]
  +- my.package
    +- MyClass.java
    +- game_settings.yml

我尝试了什么

this.getClass().getResourceAsStream("game_settings.yml"); // null
MyClass.class.getResourceAsStream("game_settings.yml"); // null
MyClass.class.getClass().getResourceAsStream("game_settings.yml"); // null
this.getClass().getClassLoader().getResourceAsStream("game_settings.yml"); // null

奇怪的是,当我使用getResource()时,它总是能找到路径。所以Java实际上知道文件在那里。

编辑:文件在包中找不到,但是我可以在jar中看到它。为什么Java看不到这个文件?

来源

0