जावा: इनपुटस्ट्रीम इनपुट स्ट्रीम

जावा, कई आधुनिक भाषाओं की तरहप्रोग्रामिंग, डेटा प्रविष्टि प्रवाह के कार्यान्वयन का समर्थन करता है जावा में, InputStream बाइट धाराओं के लिए आधार वर्ग है। यह वर्ग अमूर्त है, अर्थात, कार्यक्रम की प्रक्रिया में हम इसका उदाहरण नहीं बना सकते हालांकि, IO पैकेज में, कई वर्ग हैं जो इनुटस्टस्ट्रीम की कार्यक्षमता का विस्तार और विस्तार करते हैं। अपने कोड में इस वर्ग का उपयोग करने के लिए, आपको इसे java.io.InputStream पैकेज से आयात करना होगा। इसके बाद, हम InputStream वर्ग द्वारा प्रदान की गई मूलभूत कार्यक्षमता, साथ ही मुख्य कक्षाओं को भी देखेंगे जो इसे लागू करते हैं।

InputStream वर्ग के लिए तरीके

एक विस्तृत अध्ययन के लिए आगे बढ़ने से पहलेInputStream वर्ग के तरीकों, यह उल्लेख किया जाना चाहिए कि यह लागू करता closeable और AutoCloseable इंटरफेस। इंटरफ़ेस closeable हमें बताता है कि इसके बारे में प्रवाह के साथ काम के पूरा होने पर जरूरी बंद होना चाहिए। यह एक विधि पास का उपयोग किया जाता ()। एक त्रुटि के मामले में InputStream वर्ग तरीकों में से सबसे बाद से एक अपवाद प्रकार IOException, सभी कार्यों को) एक कोशिश ब्लॉक और एक विधि पास (आचरण इतना है कि यह आपरेशन के परिणाम के आधार पर फिसल गया है शरीर की कोशिश करने के अंत में एक इकाई बनाने के लिए आवश्यक उत्पन्न करता है।

ऑटोक्लोसेबल इंटरफ़ेस काफी कम हो जाता हैतकनीकी कोड की मात्रा, क्योंकि यह बंद () विधि स्वचालित रूप से काम करने की अनुमति देता है और अंत में आपके कोड को ब्लॉक नहीं करता है। यदि आप जावा के सातवें या बाद के संस्करण का उपयोग कर रहे हैं, तो आप संसाधनों के साथ एक तथाकथित प्रयास में InputStream को रख सकते हैं, जो सभी समापन कार्यों का ध्यान रखता है।

जावा इनपुटस्ट्रीम स्ट्रिंग के लिए

InputStream वर्ग के मुख्य तरीकों पर विचार करें:

  • int उपलब्ध () - पढ़ने के लिए उपलब्ध बाइट्स की संख्या देता है;
  • int read () - संसाधन से वर्तमान बाइट लेता है और इसे पूर्णांक प्रतिनिधित्व में देता है; यदि सभी बाइट्स पढ़े जाते हैं, तो रिटर्न -1;
  • int पढ़ने (बाइट [] बफर) - में उपलब्ध बाइट्स को पढ़ता हैनिर्दिष्ट बफर प्रकार बाइट के एक सरणी के रूप में (बाइट की संख्या निर्दिष्ट बफर के आकार के बराबर होती है, जो बाइट्स की संख्या को पढ़ा जाता है, अगर -1 सभी उपलब्ध बाइट लौटाए जाते हैं);
  • int पढ़ें (बाइट [] बफर, int ऑफसेट, intबाइट्स की संख्या) - पिछली विधि का अधिभार, वही करता है, लेकिन स्थिति "ओफ़्सेट" में इंगित होती है और "बाइट्स की संख्या" में निर्दिष्ट के अनुसार पढ़ती है;
  • लंबे समय तक छोड़ (बाइट्स की लंबी संख्या) - बाइट्स की निर्दिष्ट संख्या को छोड़ देता है और बाइट्स की वास्तविक संख्या देता है।

InputStream कई वर्गों द्वारा लागू किया गया है, जो विभिन्न स्रोतों और डेटा प्रकारों के साथ काम करने के लिए डिज़ाइन किया गया है। विरासत का पेड़ नीचे प्रस्तुत किया गया है

जावा इनपुटस्ट्रीम

फ़ाइलें पढ़ना

फ़ाइलों से जानकारी पढ़ने के लिए बाइट स्ट्रीमFileInputStream वर्ग द्वारा कार्यान्वित बाइट्स पढ़ने के लिए एक फाइल खोलने के लिए, इस क्लास का एक उदाहरण बनाने के लिए पर्याप्त है, कन्स्ट्रक्टर को फाइल के नाम से एक तर्क के रूप में पास करना। यदि दिए गए नाम के साथ फ़ाइल मौजूद नहीं है, तो FileNotFoundException प्रकार का एक अपवाद फेंक दिया जाएगा।

फ़ाइल के एक सफल उद्घाटन के मामले में, ऊपर वर्णित विधियों का उपयोग करके इसके साथ काम किया जाता है, क्योंकि FileInputStream इनपुटस्ट्रीम के उत्तराधिकारी है।

आदिम डेटा प्रकार पढ़ना

पिछले उदाहरण के साथ काम का वर्णन कियाबाइट मान जिन्हें प्रतीकों के रूप में व्याख्या किया जा सकता है लेकिन क्या होगा अगर हमें एक पूर्णांक, आंशिक या तार्किक मूल्य पढ़ने की आवश्यकता है? ऐसा करने के लिए, जावा इनटस्टस्ट्रीम में अप्रत्यक्ष रूप से डेटाइनपुट स्ट्रीम क्लास द्वारा विस्तारित किया गया है। यह क्लास इनपुटस्ट्रीम के लिए आवरण है, जो उसको दिया जाता है जब इसे कन्स्ट्रक्टर के तर्क के रूप में बनाया जाता है। इस तरह की धारा बाइनरी फॉर्म में डेटा पढ़ती है।

डाटाइंस्टस्ट्रीम भी डेटाइनपुट इंटरफ़ेस और आदिम डेटा प्रकारों को पढ़ने के लिए इसके तरीकों को लागू करता है। नीचे इन विधियों की एक सूची है

जावा io इनपुटस्ट्रीम

विधियों के नाम स्वयं के लिए बोलते हैं - इनमें से प्रत्येक एक निश्चित प्रकार के डेटा को पढ़ने के लिए है।

बुफ़र इनपुट स्ट्रीम

Buffered डेटा पढ़ा स्ट्रीम लागू किया जाता हैजावा में BufferedInputStream वर्ग इनपुटस्ट्रीम इस वर्ग में लिपटे है। यह वर्ग एक बफर के साथ प्रवाह को पूरक करता है, जो आपको एक बार में एक से अधिक बाइट पढ़ने की अनुमति देता है। इससे ऑपरेशन के प्रदर्शन में काफी सुधार होगा। BufferedInputStream InputStream का एक अप्रत्यक्ष वंशज है, और तदनुसार, उपर्युक्त सभी तरीकों को प्राप्त करता है

इस वर्ग के दो निर्माता हैं:

  • BufferedInputStream (InputStream इनपुट स्ट्रीम);
  • BufferedInputStream (InputStream इनपुट स्ट्रीम, Int बफ़र आकार)

कन्स्ट्रक्टर के हस्ताक्षर से, आप समझ सकते हैं कि पहले एक डिफ़ॉल्ट रूप से बफर आकार सेट करता है, और दूसरे में यह मैन्युअल रूप से सेट करना संभव होता है

निष्कर्ष

हमने इनपुटस्ट्रीम के बुनियादी कार्यान्वयन को कवर किया है यदि आपको प्राप्त बाइट्स को स्ट्रिंग में कनवर्ट करना है, तो बाद में Java InputStream को स्ट्रिंग (), दुर्भाग्य से, अतिभारित नहीं है, इसलिए इसके लिए आपको विशेष उपयोगिताओं का उपयोग करना होगा, उदाहरण के लिए IOtils अपाचे कॉमन्स लाइब्रेरी से

</ p>
इसे पसंद किया:
0
संबंधित लेख
कैसे बनाने के बारे में विवरण
जावा स्थापित नहीं है: मुझे क्या करना चाहिए? कैसे कर सकते हैं
विंडोज 7 पर जावा को कैसे स्थापित करें I
जावा ऑब्जेक्ट मॉडल के तत्व: सार
आई / ओ त्रुटि और इसके उन्मूलन
जावा एकीकृत विकास पर्यावरण
इनपुट डिवाइस
"Minecraft" की गलतियों का सुधार: कैसे बनाने के लिए,
जावा: फाइलों के साथ काम करना - लेखन, पढ़ना,
लोकप्रिय डाक
ऊपर