2013-03-27 18 views
11

Poniżej przedstawiono wiodący ukośnik przed nazwą dysku. Jak mogę tego uniknąć?getResource umieszcza wiodącą/przed nazwą dysku przy użyciu java 1.7 Windows 7

String pngpath = getClass().getResource("/resources/lena.png").getPath(); 
System.out.println("pngpath = "+pngpath); 

Daje:

pngpath = /C:/Users/jgrimsdale/Documents/NetBeansProjects/HelloCV/build/classes/resources/lena.png 
+1

Co się dzieje, kiedy usunąć wiodącą ukośnik z 'oświadczenie getResource'? – nattyddubbs

+1

Wierzę, że ścieżka jest nadal ważna, nawet z wiodącym '/'. –

+1

@SotiriosDelimanolis Nie w niektórych kontekstach tak nie jest. –

Odpowiedz

-1

można to zrobić za pomocą tego kodu.

System.out.println("pngpath = "+pngpath.substring(1,pngpath.length())); 
+2

da to wynik w Linuksie, gdzie wymagany jest wiodący ukośnik. Odpowiedź @diogosantana jest bardziej niezależna od platformy –

15

Zastosowanie:

String pngpath = getClass().getResource("/resources/lena.png").getFile(); 
File file = new File(pngpath); 
System.out.println(file.getAbsolutePath());