2012-07-02 13 views
10

एक जावा प्रोग्राम में, मैं किसी कारण सेबनाया गया फ़ाइल कोई अभिभावक नहीं है?

File temp = new File("temp"); 
temp.createNewFile(); 

फिर साथ एक फ़ाइल बनाने जब मैं

File pDir = temp.getParentFile(); 

लिखने और pDir रिक्त है। मैं वास्तव में

File pDir = temp.getParentFile().getParentFile(); 

लिखना चाहता हूं लेकिन यह एक शून्य सूचक अपवाद फेंकता है।

+0

क्या वे स्वचालित रूप से कार्यरत निर्देशिका में नहीं बनाए गए हैं? यह वहां फाइल बनाता है, यह किसी भी माता-पिता को वापस नहीं करता है। – SSEMember

उत्तर

26

इसके लिए आपको एक पथ की आवश्यकता है, एब्सोल्यूटफाइल प्राप्त करने का प्रयास करें।

File pDir = temp.getAbsoluteFile().getParentFile(); 
+0

धन्यवाद! यह पूरी तरह से काम किया। जैसे ही मैं सक्षम हूं मैं स्वीकार करूंगा। – SSEMember

0

आप temp नामक एक फ़ाइल बना रहे हैं, लेकिन इसमें कोई रास्ता नहीं है, इसलिए कोई पैरेंट पथ नहीं होगा। यदि आप फ़ाइल को वर्तमान निर्देशिका में रखना चाहते हैं:

File temp = new File(System.getProperty("user.dir")+"/temp"); 
File parent = temp.getParentFile(); 
संबंधित मुद्दे