2011-10-08 12 views
7

मुझे हाल ही में getPath() के साथ कोई समस्या आई।जावा में getPath() और रिक्त स्थान

File path = new File(Main.class.getResource("/worlds/").getPath()); 
File[] files = path.listFiles(); 
समस्या

अब यह है कि मुख्य वर्ग के लिए पथ में कहीं एक जगह नहीं है अगर, path.listFiles()null वापस आ जाएगी:

मेरे कोड कुछ इस तरह लग रहा है। यदि कोई जगह नहीं है, तो सब कुछ ठीक काम करता है।

अगर मैं cmd ​​के लिए पथ प्रिंट, मैं देखता हूँ कि हर जगह एक %20

उत्तर

3

कि ऐसा मत करो। getResource() द्वारा लौटाया गया फ़ाइल फ़ाइल पर एक फ़ाइल आवश्यक नहीं है, जो File का प्रतिनिधित्व करता है।

+0

) के पास पास पथ की आवश्यकता है, लेकिन मैं उस पथ के सापेक्ष एक निर्देशिका की सामग्री को बेहतर तरीके से नहीं देख सकता, जहां प्रोग्राम को – Simiil

+0

निष्पादित किया गया है 'नई फाइल (" ./ worlds ")। listFiles()' –

+0

यह खोज में वर्णित वही त्रुटि का कारण बनता है। – MasterCassim

13

कि सही तरीका एक फ़ाइल के लिए एक URL परिवर्तित करने के लिए नहीं है के द्वारा बदल दिया गया है। ऐसा करें:

new File(Main.class.getResource("/worlds/").toURI()); 
+0

मेरे पास एक ही समस्या है लेकिन मुझे Velocity.getTemplate (.... – gstackoverflow

संबंधित मुद्दे