Java class.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();
}

}

1 ответ

Решение

Файлы в resources папка будет упакована в корень файла.jar, что означает, что во время разработки resources сама папка находится в classpath, поэтому вам нужно this.getClass().getResource("/table.1gram")или без / поскольку ваш класс находится в безымянном пакете, он также находится в корне файла.jar.

Другие вопросы по тегам