Ich möchte eine Ressource aus meinem Glas so lesen:
File file;
file = new File(getClass().getResource("/file.txt").toURI());
BufferredReader reader = new BufferedReader(new FileReader(file));
//Read the file
und es funktioniert gut, wenn es in Eclipse ausgeführt wird, aber wenn ich es in ein JAR exportiere, gibt es eine IllegalArgumentException:
Exception in thread "Thread-2"
java.lang.IllegalArgumentException: URI is not hierarchical
und ich weiß wirklich nicht warum, aber bei einigen Tests habe ich festgestellt, ob ich mich ändere
file = new File(getClass().getResource("/file.txt").toURI());
zu
file = new File(getClass().getResource("/folder/file.txt").toURI());
dann funktioniert es umgekehrt (es funktioniert im Glas, aber nicht in der Finsternis).
Ich verwende Eclipse und der Ordner mit meiner Datei befindet sich in einem Klassenordner.
getResourceAsStream
ist immer noch eine einfachere und tragbarere Lösung für das Problem.