Я хотел бы прочитать ресурс из моей банки, например, так:
File file;
file = new File(getClass().getResource("/file.txt").toURI());
BufferredReader reader = new BufferedReader(new FileReader(file));
//Read the file
и он отлично работает при запуске его в Eclipse, но если я экспортирую его в банку, то при запуске возникает исключение IllegalArgumentException:
Exception in thread "Thread-2"
java.lang.IllegalArgumentException: URI is not hierarchical
и я действительно не знаю почему, но с некоторым тестированием я обнаружил, если я изменюсь
file = new File(getClass().getResource("/file.txt").toURI());
в
file = new File(getClass().getResource("/folder/file.txt").toURI());
тогда это работает наоборот (это работает в банке, но не затмение).
Я использую Eclipse, и папка с моим файлом находится в папке класса.
getResourceAsStream
это все еще более простое и более портативное решение проблемы.