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.