Je voudrais lire une ressource de mon pot comme ceci:
File file;
file = new File(getClass().getResource("/file.txt").toURI());
BufferredReader reader = new BufferedReader(new FileReader(file));
//Read the file
et cela fonctionne très bien lors de son exécution dans Eclipse, mais si je l'exporte dans un bocal, exécutez-le, il y a une exception IllegalArgumentException:
Exception in thread "Thread-2"
java.lang.IllegalArgumentException: URI is not hierarchical
et je ne sais vraiment pas pourquoi, mais avec des tests, j'ai trouvé que si je change
file = new File(getClass().getResource("/file.txt").toURI());
à
file = new File(getClass().getResource("/folder/file.txt").toURI());
alors ça marche à l'opposé (ça marche en pot mais pas en éclipse).
J'utilise Eclipse et le dossier avec mon fichier se trouve dans un dossier de classe.
getResourceAsStream
c'est toujours une solution plus simple et plus portable au problème.