Kavanozumdaki bir kaynağı şöyle okumak istiyorum:
File file;
file = new File(getClass().getResource("/file.txt").toURI());
BufferredReader reader = new BufferedReader(new FileReader(file));
//Read the file
ve Eclipse içinde çalıştırırken iyi çalışıyor, ancak bir kavanoz çalıştırmak için dışarı aktarırsanız bir IllegalArgumentException var:
Exception in thread "Thread-2"
java.lang.IllegalArgumentException: URI is not hierarchical
ve nedenini bilmiyorum ama bazı testlerde
file = new File(getClass().getResource("/file.txt").toURI());
için
file = new File(getClass().getResource("/folder/file.txt").toURI());
o zaman tersi çalışır (kavanozda çalışır, ancak tutulmaz).
Eclipse kullanıyorum ve benim dosya ile klasör bir sınıf klasöründe.
getResourceAsStream
Soruna hala daha basit ve daha taşınabilir bir çözüm olduğuna inanıyorum .