मैं एक स्थानीय एक BufferedReader एक FileReader के चारों ओर लिपटा का उपयोग कर फ़ाइल पढ़ रहा हूँ:क्या मुझे FileReader और BufferedReader दोनों को बंद करने की आवश्यकता है?
BufferedReader reader = new BufferedReader(new FileReader(fileName));
// read the file
// (error handling snipped)
reader.close();
मैं FileReader
close()
करने की ज़रूरत है, या आवरण कि संभाल लेंगे? मैं कोड को देखा है, जहां लोगों को कुछ इस तरह करते हैं:
FileReader fReader = new FileReader(fileName);
BufferedReader bReader = new BufferedReader(fReader);
// read the file
// (error handling snipped)
bReader.close();
fReader.close();
इस विधि एक सर्वलेट से कहा जाता है, और मुझे यकीन है कि मैं किसी भी हैंडल खुला छोड़ नहीं करना चाहते हैं।
यक़ीन, आप इस तरह की जानकारी के लिए स्रोत पढ़ सकते हैं। यह जेडीके स्थापना निर्देशिका में src.zip में है, या आप इसे ऑनलाइन पढ़ सकते हैं उदाहरण के लिए http://www.docjar.com/html/api/java/io/BufferedReader.java.html – gustafc
किसी को पढ़ने के लिए कह रहा है स्रोत "आरटीएफएम!" कहने से भी बदतर है। और क्या होगा यदि स्रोत में एक बग है; निस्संदेह हम जानना चाहते हैं कि * सही * व्यवहार क्या है? – Raedwald
खैर ... इस बिंदु से: एपीआई चश्मा को इंगित करना तब बेहतर नहीं है। अगर स्रोत में कोई बग नहीं है जिसके कारण यह व्यवहार नहीं करता है तो यह दस्तावेज़ों में निर्दिष्ट है, आप दस्तावेज़ों पर भरोसा नहीं कर सकते हैं। तो ऐसे प्रश्न का उत्तर देने का कोई अच्छा तरीका नहीं है। संक्षेप और स्पष्टता के संयोजन के लिए – Atmocreations