Vorrei leggere una risorsa dal mio vaso in questo modo:
File file;
file = new File(getClass().getResource("/file.txt").toURI());
BufferredReader reader = new BufferedReader(new FileReader(file));
//Read the file
e funziona benissimo quando lo eseguo in Eclipse, ma se lo esporto in un barattolo lo eseguo c'è un IllegalArgumentException:
Exception in thread "Thread-2"
java.lang.IllegalArgumentException: URI is not hierarchical
e non so davvero perché, ma con alcuni test ho scoperto se cambio
file = new File(getClass().getResource("/file.txt").toURI());
per
file = new File(getClass().getResource("/folder/file.txt").toURI());
quindi funziona al contrario (funziona in vaso ma non in eclissi).
Sto usando Eclipse e la cartella con il mio file è in una cartella di classe.
getResourceAsStream
sia ancora una soluzione più semplice e portatile al problema.