दिलचस्प पोस्ट
सरणी को जावास्क्रिप्ट में मूल्य से कॉपी करना क्या वी.एस. नकल कोड स्थिति के लिए कोई विस्तार है? सी # से थोक डेटाबेस आवेषण का सबसे अच्छा तरीका क्या है? Sphinxdoc थीम को अनुकूलित करें मोबाइल वेब पृष्ठों पर डिवाइस रोटेशन को अवरुद्ध करना एंड्रॉइड: एंड्रॉइड-पार्स में ईमेल क्लाइंट रिसीवर ईमेल आईडी खाली है एक विधि के लिए जावा चर संख्या या तर्क स्प्रिंग फ्रेमवर्क में @ इंजेक्ट और एटोवायर के बीच अंतर क्या है? किस स्थिति में इस्तेमाल किया जाए? एंड्रॉइड क्लासनोटफ़ाउंड अपवाद दिनांक ऑब्जेक्ट को कैलेंडर ऑब्जेक्ट में परिवर्तित करना asp.net c # http से https तक रीडायरेक्ट दृश्य क्षेत्र का टैग? एक पॉलीविरिएडिक हैस्केल फ़ंक्शन कैसे बनाएं? क्या आप वर्तमान क्रियान्वित करने के लिए विधि का नाम खोजने के लिए प्रतिबिंब का उपयोग कर सकते हैं? यूटीसी डेटटाइम्स को विश्व स्तर पर स्थानीय डेटटाइम्स निर्दिष्ट करने के लिए परिवर्तित करें

बाइट धारा और चरित्र स्ट्रीम

कृपया बाइट स्ट्रीम और चरित्र स्ट्रीम फ़ाइलें समझाएं। माइक्रोसॉफ्ट शब्द दस्तावेज़ बाइट ओरिएंटेड या वर्ण उन्मुख है, इसका बिल्कुल क्या मतलब है?

धन्यवाद

Solutions Collecting From Web of "बाइट धारा और चरित्र स्ट्रीम"

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

एक चरित्र स्ट्रीम वर्ण द्वारा एक फ़ाइल वर्ण पढ़ा जाएगा। ठीक से काम करने के लिए एक चरित्र स्ट्रीम को फ़ाइल के एन्कोडिंग को देने की आवश्यकता है।

यद्यपि एक माइक्रोसॉफ्ट वर्ड डॉक्युमेंट में टेक्स्ट है, यह एक कैरेक्टर स्ट्रीम से नहीं पहुंचा जा सकता है (यह टेक्स्ट फ़ाइल नहीं है)। इसे एक्सेस करने के लिए आपको एक बाइट स्ट्रीम का उपयोग करना होगा।

बाइटस्ट्रीम :

बाइट स्ट्रीम के बारे में ओरेकल प्रलेखन पृष्ठ से:

कार्यक्रम इनपुट और 8-बिट बाइट्स आउटपुट के प्रदर्शन के लिए बाइट स्ट्रीम का उपयोग करते हैं। सभी बाइट स्ट्रीम कक्षाएं InputStream और OutputStream से उतरी हैं

यहां छवि विवरण दर्ज करें

कब इस्तेमाल करें:

बाइट स्ट्रीम केवल सबसे प्रारंभिक I / O के लिए उपयोग किए जाने चाहिए

उपयोग नहीं करने के लिए:

आपको चरित्र स्ट्रीम पढ़ने के लिए बाइट स्ट्रीम का उपयोग नहीं करना चाहिए

उदाहरण के लिए एक पाठ फ़ाइल को पढ़ने के लिए

चरित्र स्ट्रीम:

चरित्र धाराओं के बारे में ओरेकल प्रलेखन पृष्ठ से:

जावा प्लेटफ़ॉर्म यूनिकोड कन्वेंशन का उपयोग करके चरित्र मानकों को स्टोर करता है। कैरेक्टर स्ट्रीम I / O स्वचालित रूप से इस आंतरिक प्रारूप को स्थानीय वर्ण सेट में और उसके द्वारा अनुवादित करता है।

सभी चरित्र स्ट्रीम कक्षाएं Reader और Writer से उतरी हैं।

चरित्र धाराएं अक्सर बाइट स्ट्रीम के लिए "रैपर" हैं चरित्र स्ट्रीम भौतिक I / O प्रदर्शन करने के लिए बाइट स्ट्रीम का उपयोग करता है, जबकि वर्ण स्ट्रीम वर्णों और बाइट्स के बीच अनुवाद को संभालता है।

दो सामान्य प्रयोजन बाइट टू वर्ण "पुल" धाराएं हैं: InputStreamReader और OutputStreamWriter

कब इस्तेमाल करें:

वर्ण धाराओं को Socket या वर्णों की File से पढ़ने के लिए

सारांश में :

बाइट स्ट्रीम एक समय में एक बाइट पढ़ता है और लिखता है। अधिक परिष्कृत डेटा से निपटने के दौरान हमें बाइट स्ट्रीम के उपयोग से बचना चाहिए।

परिष्कृत डेटा को संभालने के लिए कैरेक्टर स्ट्रीम और अन्य उपलब्ध स्ट्रीम का उपयोग किया जाना चाहिए

इसे पढ़ें। यह आपको बाइट्स और पात्रों के बीच के अंतर के बारे में बताता है (साथ ही साथ अन्य उपयोगी चीजों का भार भी)

1. चरित्र उन्मुख डेटाटाइप से बंधा है। केवल स्ट्रिंग टाइप या कैरेक्टर टाइप इसके माध्यम से पढ़ा जा सकता है, जबकि बाइट ओरिएंटेड किसी भी डेटाटाइप से नहीं जुड़ा हुआ है, किसी भी डेटाटाइप के डेटा को पढ़ा जा सकता है (स्ट्रिंग को छोड़कर) बस आपको इसे निर्दिष्ट करना है।

2. चरित्र अभिमुख चरित्र द्वारा वर्ण पढ़ता है जबकि बाइट उन्मुख बाइट द्वारा बाइट पढ़ता है

3. चरित्र उन्मुख धाराएं वर्ण एन्कोडिंग स्कीम (यूनिकोड) का उपयोग करती हैं, जबकि बाइट उन्मुख किसी एन्कोडिंग स्कीम का उपयोग नहीं करते हैं

4.चरेंट उन्मुख धाराओं को रीडर और लेखक धारा के रूप में भी जाना जाता है बाइट उन्मुख धाराओं को डेटा स्ट्रीम के रूप में जाना जाता है- डेटा इनपुट स्ट्रीम और डेटा आउटपुट स्ट्रीम

एक चरित्र स्ट्रीम वर्ण द्वारा एक फ़ाइल वर्ण पढ़ा जाएगा। चरित्र स्ट्रीम 16-बिट वर्णों को पढ़ने में सक्षम हैं (बाइट स्ट्रीम 8-बिट वर्ण पढ़ते हैं) कैरेक्टर स्ट्रीम 16-बिट डेटा के लिए या इसके विपरीत 8-बिट डेटा का अप्रत्यक्ष रूप से अनुवाद करने में सक्षम हैं। कैरेक्टर स्ट्रीम सभी प्रकार के वर्ण सेट एएससीआईआई, यूनिकोड, यूटीएफ -8, यूटीएफ -16 आदि का समर्थन कर सकता है। लेकिन बाइट स्ट्रीम केवल एएससीआईआई वर्ण सेट के लिए उपयुक्त है। जीवा प्लेटफॉर्म यूनिकोड कन्वेंशन का उपयोग कर चरित्र मानकों को स्टोर करता है। कैरेक्टर स्ट्रीम I / O स्वचालित रूप से इस आंतरिक प्रारूप को स्थानीय वर्ण सेट में और उसके द्वारा अनुवादित करता है।

जब तक आप द्विआधारी डेटा, जैसे कि छवि और ध्वनि फाइलों के साथ काम नहीं कर रहे हैं, आपको पाठ स्ट्रीम और सूचनाओं को पढ़ना और लिखने के लिए पाठकों और लेखकों का उपयोग करना चाहिए।