Mam wdrożoną moją aplikację do pliku JAR. Kiedy trzeba skopiować dane z jednego pliku zasobów do zewnętrznej pliku jar, mam ten kod:Plik JAR Java: użyj błędów zasobów: URI nie jest hierarchiczny
URL resourceUrl = getClass().getResource("/resource/data.sav");
File src = new File(resourceUrl.toURI()); //ERROR HERE
File dst = new File(CurrentPath()+"data.sav"); //CurrentPath: path of jar file don't include jar file name
FileInputStream in = new FileInputStream(src);
FileOutputStream out = new FileOutputStream(dst);
// some excute code here
Błąd spotkałem jest: URI is not hierarchical
. tego błędu nie spotykam po uruchomieniu w środowisku IDE.
Jeśli zmienić powyższy kod jako jakiejś pomocy na innym poście na StackOverflow:
InputStream in = Model.class.getClassLoader().getResourceAsStream("/resource/data.sav");
File dst = new File(CurrentPath() + "data.sav");
FileOutputStream out = new FileOutputStream(dst);
//....
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) { //NULL POINTER EXCEPTION
//....
}
Próbowałem ponownie na swój sposób (jest mój drugi kod powyżej), ale gdy jest to przejść: 'in.read (buf)' ---> Spełniam wyjątek punktowy null. :(@: resource jest folderem w moim projekcie, ma tę samą hierarchię z innym pakietem, więc muszę dodać 'resource' – hqt
po hierarchii twojego projektu – dash1e
Ale co, jeśli naprawdę POTRZEBUJĘ obiektu" File ". ..? – TekTimmy