Я пытаюсь включить несколько текстовых файлов в качестве ресурсов в мой исполняемый .jar-файл. Следующий код должен напечатать содержимое одного файла:
URI resourceFile = Driver.class.getResource("/etc/inputfile.txt").toURI();
System.out.println("Opening URI: " + resourceFile.toString());
File infile = new File(resourceFile);
Scanner sc = new Scanner(infile);
while (sc.hasNextLine())
System.out.println(sc.nextLine());
sc.close();
После экспорта в качестве исполняемого jar, я получаю следующий вывод при запуске:
Открытие URI: rsrc: etc / inputfile.txt
java.lang.IllegalArgumentException: URI не является иерархическим
в java.io.File. (File.java:363)
Файл может быть напечатан без проблем, если я использую getResourceAsStream, но я хотел бы использовать объект File по другим причинам.
Как я могу решить эту проблему?
Спасибо
Martin