2013-03-27 7 views
11

Quanto segue fornisce una barra iniziale prima del nome del disco. Come posso evitarlo?getResource mette uno iniziale/prima del nome del disco utilizzando java 1.7 windows 7

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

Dà:

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

Cosa succede quando si rimuove la barra che conduce dal 'dichiarazione getResource'? – nattyddubbs

+1

Credo che quel percorso sia ancora valido, anche con il comando '/'. –

+1

@SotiriosDelimanolis In alcuni contesti non lo è. –

risposta

-1

si può fare questo se usi questo codice.

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

questo darebbe un filiferfound su linux dove è necessaria la barra iniziale. La risposta di @diogosantana è più indipendente dalla piattaforma –

15

Usa:

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