संगणकप्रोग्रामिंग

जावा: InputStream. इनपुट प्रवाह

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

InputStream वर्ग पद्धती

InputStream वर्ग पद्धती सखोल अभ्यास पुढे करण्यापूर्वी, तो Closeable आणि AutoCloseable संवाद लागू नमूद करणे आवश्यक आहे. इंटरफेस Closeable की प्रवाह काम पूर्ण येथे अपरिहार्यपणे बंद करणे आवश्यक आहे आपल्याला सांगते. हे एक पद्धत बंद वापर केला आहे (). एक त्रुटी बाबतीत च्या InputStream वर्ग पद्धती सर्वात असल्याने एक अपवाद प्रकार IOException, एक प्रयत्न ब्लॉक आणि एक पद्धत बंद करा (चालविणे) तो शरीर प्रयत्न ऑपरेशन परिणाम अवलंबून tripped आहे की शेवटी एक युनिट करा आवश्यक सर्व कामकाज निर्माण.

AutoCloseable इंटरफेस लक्षणीय, कोड देखभाल रक्कम कमी तो बंद करा () पद्धत काम आपोआप परवानगी देते आणि शेवटी अवरोधित आपला कोड जोडू नसते. तुम्ही जावा च्या सातव्या किंवा नंतर आवृत्ती वापरत असल्यास, एक InputStream बंद करण्यासाठी सर्व कामकाज प्रवाह घेते संसाधने तथाकथित प्रयत्न स्थीत करणे शक्य.

InputStream वर्ग मूलभूत पद्धती विचार करा:

  • उपलब्ध int () - बाइट वाचन संख्या परत;
  • int वाचा () - संसाधन वर्तमान बाइट घेते आणि पूर्णांक प्रतिनिधित्व परत; सर्व बाईट्स वाचले असल्यास, -1 परत आहे;
  • int वाचा (बाइट [] बफर) - बाइट उपलब्ध बाइट अरे प्रकार स्वरूपात बफर सांगितले वाचन (बाइट संख्या आकार निर्दिष्ट समान बफर वाचा आणि परत बाईट्सची संख्या यशस्वी वाचा आणि सर्व उपलब्ध बाइट वाचले असल्यास, परत -1);
  • int वाचा (बाइट [] बफर, ऑफसेट Int, बाइट int संख्या) - मागील पद्धत जादा असलेले ओझे, त्याच करते, पण एक निर्दिष्ट "ऑफसेट" जागा आणि "बाइट संख्या" मध्ये सेट तितकी वाचतो;
  • लांब वगळा (लांब बाइट संख्या) - बाइट वेळा वगळून संख्या नाही प्रत्यक्ष संख्या मिळवते.

InputStream विविध स्रोत आणि डेटा प्रकारच्या काम करण्यासाठी तयार अनेक वर्ग राबविण्यात येत आहे. खाली वारसा झाड दाखवते.

फाइल वाचन

बाइट प्रवाह फाइल पासून राबविण्यात येत आहे वर्ग FileInputStream डेटा वाचण्यासाठी. वाचन बाइट, वर्ग एक उदाहरण करण्यासाठी पुरेसे फाइल नाव एक घटक म्हणून त्याचे रचनाकार पुरवणे, एक फाइल उघडण्यासाठी. फाइल अस्तित्वात नाही नाव हस्तांतरित आहे, तर टाइप FileNotFoundException एक अपवाद टाकतील.

एक यशस्वी उघडा फाइल बाबतीत, त्यांना काम वर वर्णन पद्धतींचा वापर करून चालते, उत्तराधिकारी FileInputStream InputStream आहे.

प्राचीन डेटा प्रकार वाचन

वरील उदाहरणात बाइट मूल्ये काम, प्रतीक म्हणून अर्थ जाऊ शकते जे वर्णन करतो. पण आम्ही एक पूर्णांक, अपूर्णांक किंवा बुलियन मूल्य वाचण्यासाठी काय गरज आहे तर? जावा InputStream हे करण्यासाठी वर्ग DataInputStream अप्रत्यक्ष वाढविते. हा वर्ग एक रचनाकार घटक म्हणून निर्मिती यावर पास आहे InputStream, एक आवरण आहे. धागा या प्रकारची बायनरी स्वरूपात डेटा वाचतो.

DataInputStream देखील DataInput इंटरफेस आणि प्राचीन डेटा प्रकार वाचून त्याच्या पद्धती लागू. खाली या पद्धती यादी आहे.

पद्धत नावे स्वत: साठी बोलतो - त्यांना प्रत्येक एक विशिष्ट डेटा प्रकार वाचा करण्यात आली आहे.

बफरच्या इनपुट प्रवाह

बफरच्या प्रवाह डेटा वाचन जावा BufferedInputStream वर्ग लक्षात आहे. InputStream या वर्ग गुंडाळून ठेवलेली आहे. हा वर्ग आपण नाही एक अनेक बाइट पण त्याच वेळी वाचा करण्याची परवानगी देऊन, बफर प्रवाह पूरक ठरते. या लक्षणीय ऑपरेशन कार्यप्रदर्शन सुधारण्यासाठी ते शक्य करते. BufferedInputStream वंशज InputStream अप्रत्यक्ष आहे आणि अशा प्रकारे सर्व वर उल्लेख केलेल्या पद्धती वारसा.

हा वर्ग दोन कन्स्ट्रक्टर आहे:

  • BufferedInputStream (InputStream इनपुट प्रवाह);
  • BufferedInputStream (InputStream इनपुट प्रवाह, int बफर आकार)

डिझाइनर सही प्रथम मुलभूत बफर आकार निश्चित करतो समजू शकते, आणि दुसरा तो स्वतः सेट करणे शक्य आहे.

निष्कर्ष

आम्ही InputStream मूलभूत परिपूर्ती पुनरावलोकन केले. तुम्ही जावा InputStream स्ट्रिंग () मध्ये एक स्ट्रिंग प्राप्त बाइट रूपांतरित करण्याची आवश्यकता असल्यास, दुर्दैवाने, ओव्हरलोड नाही आहे, त्यामुळे ते अपाचे Commons लायब्ररी विशेष साधने, उदा IOUtils वापर लागेल.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mr.atomiyme.com. Theme powered by WordPress.