दिलचस्प पोस्ट
टेक्स्ट संपादित करें फ़ील्ड का मूल्य प्राप्त करें क्या गतिशील रूप से एक फिल्टर बनाने के लिए Linq का उपयोग करने वाला एक पैटर्न है? फॉर्म का उपयोग किए बिना डाक चर सेट करना जैक्सन के साथ सीरियलिंग (जेएसओएन) – "कोई सीरियलइज़र नहीं मिला"? RichTextBox (WPF) की स्ट्रिंग संपत्ति "पाठ" नहीं है केस असंवेदनशील 'शामिल (स्ट्रिंग)' इस JSON स्ट्रिंग को कैसे डीकोड करना है? एसक्यूएल, संख्या की सहायक तालिका बिस्तहफ्ट और पूर्णांक पदोन्नति? संयोजनों का मैट्रिक्स कैसे तैयार करें आपकी इकाई परीक्षण कितनी गहरी हैं? विंडोज पर पायथन 2. एक्स में कमांड-लाइन आर्गुमेंट्स से यूनिकोड वर्ण पढ़ें पायथन एक संदर्भ से पूर्णांक गुजर रहा है Gulps gulp.watch नई या हटाई गई फ़ाइलों के लिए ट्रिगर नहीं? android.view.InflateException: बाइनरी एक्सएमएल फ़ाइल लाइन # 12: क्लास <अज्ञात> बढ़ते त्रुटि

जावा में स्ट्रीमिंग बंद करना

हमें प्रोग्राम छोड़ने से पहले किसी भी मामले में हमें फाइल इन्पुटस्ट्रीम (और सामान्य रूप से धाराओं) को बंद करने की आवश्यकता क्यों है? अन्यथा क्या होगा? यदि कार्यक्रम बंद हो जाता है तो कार्यक्रम में स्पष्ट रूप से बंद हो जाता है, तो क्या स्ट्रीम भी स्वत: ही बंद नहीं कर सकता है?

Solutions Collecting From Web of "जावा में स्ट्रीमिंग बंद करना"

फ़ाइल हैंडल्स दुर्लभ, सीमित संसाधन हैं अगर आप उन्हें सही तरीके से साफ नहीं करते हैं तो आप उनमें से भाग सकते हैं, जैसे डेटाबेस कनेक्शन

यदि आपने केवल एक उपयोगकर्ता के साथ एक छोटा सा प्रोग्राम लिखा है तो आप अंत तक ब्लॉक में ढलान के साथ भाग ले सकते हैं और बंद नहीं कर सकते हैं।

लेकिन अगर आप उस मुहावरे को उस अनुप्रयोग में समाप्त करते हैं जिसमें कई प्रयोक्ता हैं और फ़ाइल संभालती है तो आपको समस्या हो सकती है

"पहले हम हमारी आदतों को बनाते हैं, तो वे हमें बनाते हैं।" मैं जब भी आवश्यक नहीं हो तब भी सर्वोत्तम प्रथाओं को लागू करने की कोशिश करता हूं।

हां, जब प्रक्रिया अप्रबंधित संसाधनों को समाप्त हो जाती है, तब जारी की जाएगी। InputStreams के लिए यह ठीक है। OutputStreams के लिए, आप एक buffered डेटा खो सकते हैं, इसलिए आपको कार्यक्रम से बाहर निकलने से पहले कम से कम स्ट्रीम फ्लश करना चाहिए।

Dude। यदि आप अपनी स्ट्रीम बंद नहीं करते हैं, तो आपका यूनिट परीक्षण विफल हो जाएगा या कम से कम, यह चाहिए इसलिए, यही कारण है कि आपको इसे बंद करना होगा 😉

और जब ओएस लगभग निश्चित रूप से साफ हो जाएगा यदि आप बाहर निकलते हैं, तो आम तौर पर उन्हें तेजी से मुक्त कर दिया जाएगा यदि आप उन्हें स्पष्ट रूप से बंद करते हैं इसके अलावा, क्या हुआ यदि आपका कोड लंबे समय से चलने वाले कार्यक्रम में कुछ समय सड़क पर समाप्त होता है? तब उन्हें समस्याएं आती हैं और आप को शाप देते हैं। 🙁

तो, यह बाथरूम का उपयोग करने के बाद अपने हाथ धोने की तरह है। यदि आप ऐसा नहीं करते हैं, तो अंततः कोई व्यक्ति मूल्य का भुगतान करेगा। आप थोड़ी देर के लिए इसे दूर कर सकते हैं, लेकिन यह अभी भी एक अच्छा अभ्यास है

जॉन के जवाब के अलावा, यह आमतौर पर किसी भी संसाधन को बंद करने का एक अच्छा विचार है।

एक डेटाबेस कनेक्शन के बारे में सोचो आपके डेटाबेस में अनंत कनेक्शन खोले नहीं जा सकते, इस मामले में जब आपको इसकी ज़रूरत नहीं होती है, तो बेहतर है कि आप इसे जल्द से जल्द बंद कर देते हैं जैसे आप इसे पूरा करते हैं

यह एक आदत बनाने के लिए भी अच्छा है "अंत में" ब्लॉक आपका दोस्त है सी ++ के मामले में, आप अपने आप को स्वचालित रूप से प्रबंधित करने के लिए RAII का उपयोग कर सकते हैं।

की तरह। स्ट्रीम को "वास्तविक" ऑपरेटिंग सिस्टम फ़ाइल डिस्क्रिप्टर द्वारा समर्थित किया जाता है, और जब प्रक्रिया समाप्त हो जाती है तो ओएस किसी भी खुली फाइल डिस्क्रिप्टर को साफ करेगा।

वैसे भी, जब आपके कार्य पूर्ण हो जाते हैं तो हमेशा अपने संसाधनों को बंद करने के लिए अच्छा अभ्यास होता है, इसलिए धाराओं को बंद करें 🙂

यदि आप धाराओं को बंद नहीं करते हैं, तो आपको उन्हें फिर से खोलने में समस्या हो सकती है यह विशेष रूप से सच है अगर वे सॉकेट्स के अंत में लटका रहे हैं।

एक स्ट्रीम को बंद करने से यह भी सुनिश्चित होता है कि अगर डेटा भेजने के लिए छोड़ा गया कोई डेटा मौजूद हो तो स्ट्रीम के माध्यम से डेटा को फ़्लश किया जाता है