2011-11-21 17 views
11

मैं एक निर्देशिका में फ़ाइलों के बहुत हो रही हो जाएगा। मैं सिर्फ File.getName() का उपयोग कर और उन्हें एक लॉग फ़ाइल के लिए लॉग इन करें फ़ाइल नाम हो रही हो जाएगा। मुझे लगता है, मुझे फ़ाइल को बंद करने की आवश्यकता नहीं है क्योंकि मैं इसमें कोई भी पढ़ा/लिखना नहीं कर रहा हूं।क्या मुझे फ़ाइलों को बंद करने की आवश्यकता है जो मैं File.getName() पर करता हूं?

क्या यह सही है?

+0

यह सही है होना करने के लिए कोई जरूरत नहीं है। – bjarneh

+0

यदि आप किसी निर्देशिका में फ़ाइलों को सूचीबद्ध करना चाहते हैं, तो आप ['फ़ाइल # सूची()'] का उपयोग कर सकते हैं (http://download.oracle.com/javase/6/docs/api/java/io/File.html # सूची% 28% 2 9) – MByD

+0

यदि आप कोई फ़ाइल खोलते हैं तो आपको इसे बंद करना होगा, लेकिन 'फ़ाइल' क्लास एक खुली फ़ाइल का प्रतिनिधित्व नहीं करती है, यह सिर्फ पथ का प्रतिनिधित्व करती है। – Wyzard

उत्तर

29

तुम कभी, File रों बंद करने के लिए है, क्योंकि यह मूल रूप से एक पथ के एक प्रतिनिधित्व है। केवल स्ट्रीम और पाठक/लेखक। वास्तव में, यहां तक ​​कि एक Fileclose() विधि नहीं है।

1

यह सही है। ध्यान दें कि File.close() विधि नहीं है।

0

हां, यह सही है। जब आप FileInputStream या FileOutputStream बनाकर फ़ाइल खोलते हैं, तो आपको अंत में स्ट्रीम बंद करनी होगी।

5
Only resources needed to be close. 

जावा एपीआई में एक इंटरफेस Closeable Interface है, उन वर्गों इस इंटरफेस वे इस्तेमाल के बाद करीब होने की जरूरत को लागू।

close() //method is in that interface.. 

और पास के उपयोग

It closes the stream and releases any system resources associated with it. 
If the stream is already closed then invoking this method has no effect. 

File है पास

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

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