Java class.getResource()返回null

时间:2015-12-03 21:12:05

标签: java intellij-idea resources getresource

我正在尝试使用IntelliJ中标记为“资源根”的资源目录中的文件,但以下代码无法找到该文件。

你告诉我出了什么问题吗?谢谢。

Project hierarchy

public class ResourceTest {
    public void testResource() {
        URL url = this.getClass().getResource("resources/table.1gram");
    System.out.println(url);
}
public static void main(String[] args) {
    ResourceTest rt = new ResourceTest();
    rt.testResource();
}

}

1 个答案:

答案 0 :(得分:7)

resources文件夹中的文件将打包到.jar文件的根目录,这意味着在开发过程中,resources文件夹本身位于类路径中,因此您需要this.getClass().getResource("/table.1gram") ,或没有/,因为你的类在未命名的包中,也就是在.jar文件的根目录中。