Dlaczego funkcja java.io.File.toURL()
jest przestarzała? Muszę przekazać URL do Toolkit.createImage()
, który akceptuje obiekt URL. Javadoc zaleca mi używanie File.toURI().toURL()
. Jednakże:File.toURL() przestarzałe?
C:\Documents and settings\Administrator\...
staje:
C:\Documents%20and%20settings\Administrator\...
co oczywiście jest niewłaściwy lokalizację pliku. Znalazłem File.toURL(), aby utworzyć adresy URL bez funkcji escaping, ale jest przestarzałe. Mimo że działa, boję się używać przestarzałych funkcji. Jaka jest metoda, która nie jest przestarzała, co robi to samo?
EDIT: Teraz mój kod wygląda następująco:
spriteImage1 = tkit.createImage(new File("./images/sprite1.png").getCanonicalFile().toURL());
EDIT: trzeba utworzyć obraz z folderu poza moim .jar. Potrzebuję względnej lokalizacji ("./images/sprite1.png"). Metoda createImage (String) zgłasza wyjątek podczas próby nadania jej względnej ścieżki.
To wcale nie jest dla mnie oczywiste, dlaczego uważasz, że wersja uciekła jest błędna. Wprawdzie prawdopodobnie oczekiwałbym + zamiast% 20, ale mam nadzieję, że nadal będzie działać. –
Nie powinien być drugi plik: /// C:/Documents% 20and% 20settings/Administrator/...? – Powerlord
W rzeczywistości druga wersja daje mi wyjątek po przejściu do createImage(), podczas gdy pierwsza działa dobrze. I tak, to plik: /// ... – Lucky