2011-09-17 22 views
20

मैं सिर्फ जानना चाहता हूं, हम आम तौर पर अंत में स्ट्रीम बंद करते हैं, लेकिन हम System.outSystem.out.close() के साथ प्रिंटस्ट्रीम क्यों बंद नहीं करते हैं?हम इसका उपयोग करने के बाद 'System.out` स्ट्रीम क्यों बंद नहीं करते हैं?

उत्तर

23

यदि आप इसे बंद करते हैं तो आप अब कंसोल पर लिखने में सक्षम नहीं होंगे, इसलिए जब प्रक्रिया समाप्त हो जाती है तो चलिए इस कार्य को VM पर छोड़ दें। आपको केवल उन्हीं धाराएं बंद करनी चाहिए जिन्हें आपने स्वयं बनाया है या मैन्युअल रूप से बनाया है। System.out आपके नियंत्रण से बाहर है, इसलिए इसे देखभाल करने के लिए निर्माता को छोड़ दें।

5

आप अभी भी फ्लश() इसे निश्चित रूप से फ्लश कर सकते हैं।

16

क्योंकि हम यह नहीं खुला था वीएम किया था और यह उसका काम है इसे बंद करना जब तक अन्यथा

यह सी ++ कहावत के समान है की मैं इसके स्वामी नहीं हैं प्रलेखित, delete यह नहीं है।

+1

@henning 'free' या फिर C++ adage में –