Saya ingin membaca sumber dari dalam toples saya seperti ini:
File file;
file = new File(getClass().getResource("/file.txt").toURI());
BufferredReader reader = new BufferedReader(new FileReader(file));
//Read the file
dan itu berfungsi dengan baik ketika menjalankannya di Eclipse, tetapi jika saya mengekspornya ke stoples itu menjalankannya ada IllegalArgumentException:
Exception in thread "Thread-2"
java.lang.IllegalArgumentException: URI is not hierarchical
dan saya benar-benar tidak tahu mengapa tetapi dengan beberapa pengujian saya menemukan jika saya berubah
file = new File(getClass().getResource("/file.txt").toURI());
untuk
file = new File(getClass().getResource("/folder/file.txt").toURI());
maka itu bekerja sebaliknya (itu bekerja di toples tetapi tidak gerhana).
Saya menggunakan Eclipse dan folder dengan file saya ada di folder kelas.
getResourceAsStream
masih solusi sederhana dan lebih portabel untuk masalah ini.