2013-03-27 24 views
11

'u kullanarak disk adından önce/öncekini koyar Aşağıdaki, disk adından önce bir ön çizgi verir. Bunu nasıl önleyebilirim?getResource, java 1.7 windows 7

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

verir: Bu kodu kullanarak bunu yapabilirsiniz

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

ne olur? – nattyddubbs

+1

Yolun hala geçerli olduğunu, hatta '/ 'ile de geçerli olduğuna inanıyorum. –

+1

@SotiriosDelimanolis Belirli bağlamlarda değil. –

cevap

-1

.

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

bu, linux üzerinde, ön çizgi eğiminin gerekli olduğu bir filenotfound verir. @diogosantana'nın cevabı daha fazla platform bağımsız –

15

Kullanım:

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

Bir Dosya yapıcı (uri) veya Dosya (string) sistemi bağımlı yolu dize veya URI nesneden dosya nesnesini almak için yardımcı olur.

Java Kitaplığı'nı kullanmak için bir çözümdür. senin `getResource` ekstrenizden Eğer lider çizgi kaldırdığınızda

System.out.println(new File("/C:/Users/jgrimsdale").toString()) 

https://docs.oracle.com/javase/7/docs/api/java/io/File.html#File(java.net.URI)