Me gustaría leer un recurso desde mi jar de la siguiente manera:
File file;
file = new File(getClass().getResource("/file.txt").toURI());
BufferredReader reader = new BufferedReader(new FileReader(file));
//Read the file
y funciona bien cuando lo ejecuto en Eclipse, pero si lo exporto a un jar y lo ejecuto, hay una IllegalArgumentException:
Exception in thread "Thread-2"
java.lang.IllegalArgumentException: URI is not hierarchical
y realmente no sé por qué, pero con algunas pruebas encontré si cambio
file = new File(getClass().getResource("/file.txt").toURI());
a
file = new File(getClass().getResource("/folder/file.txt").toURI());
entonces funciona al contrario (funciona en jar pero no eclipse).
Estoy usando Eclipse y la carpeta con mi archivo está en una carpeta de clase.
getResourceAsStream
sigue siendo una solución más simple y más portátil para el problema.