2013-03-27 7 views
11

का उपयोग कर डिस्क नाम से अग्रणी/पहले रखता है निम्नलिखित डिस्क नाम से पहले एक प्रमुख स्लैश देता है। मैं इससे कैसे बच सकता हूं?getResource जावा 1.7 विंडोज 7

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

देता है:

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

क्या होता है जब आप अपने 'getResource' बयान से अग्रणी स्लैश निकालना चाहते हैं? – nattyddubbs

+1

मुझे विश्वास है कि पथ अभी भी वैध है, यहां तक ​​कि अग्रणी '/' के साथ भी। –

+1

@SotiriosDelimanolis कुछ संदर्भों में नहीं है यह नहीं है। –

उत्तर

-1

आप इस इस कोड का उपयोग कर सकते हैं।

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

यह लिनक्स पर एक फाइलनोटफाउंड उत्पन्न करेगा जहां प्रमुख स्लैश आवश्यक है। @diogosantana का जवाब अधिक मंच स्वतंत्र है –

15

उपयोग:

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

फ़ाइल की एक निर्माता (URI) या फ़ाइल (स्ट्रिंग) प्रणाली निर्भर पथ स्ट्रिंग या यूआरआई वस्तु से फ़ाइल वस्तु प्राप्त करने के लिए मदद करता है।

यह जावा लाइब्रेरी का उपयोग करने का एक समाधान है।

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)