Java class.getResource()返回null

pan*_*mer 0 java resources intellij-idea getresource

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

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

项目层次结构

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();
}
Run Code Online (Sandbox Code Playgroud)

}

And*_*eas 7

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