Dla pliku Desktop.open(File f)
można odwoływać się do pliku znajdującego się w pliku JAR?Plik odniesienia Java Desktop.open (plik f) w obrębie JAR?
Próbowałem użyć ClassLoader.getResource(String s)
, konwertując go do URI, a następnie tworząc z niego Plik. Ale powoduje to IllegalArgumentException: URI is not hierarchical
.
URL url = ClassLoader.getSystemClassLoader().getResource(...);
System.out.println("url=" + url); // url is valid
Desktop.getDesktop().open(new File(url.toURI()));
Możliwość jest the answer at JavaRanch, która ma utworzyć plik tymczasowy z zasobu w JAR - nie bardzo elegancki.
Działa w systemie Windows XP.
W rzeczywistości utworzenie tymczasowego pliku jest dobrym rozwiązaniem. Możesz stworzyć dla niej "elegancką" bibliotekę, więc nie musisz jej kodować za każdym razem. – OscarRyz