Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

Java में Scanner और BufferReader Class के बीच अंतर

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

Sr. नहीं।
<वें शैली ="पाठ-संरेखण:केंद्र; चौड़ाई:10.2721%;">कुंजी
<वें शैली ="पाठ-संरेखण:केंद्र;">स्कैनर वर्ग
<वें शैली ="पाठ-संरेखण:केंद्र;">बफ़र रीडर वर्ग
1
तुल्यकालिक
स्कैनर प्रकृति में सिंक्रोनस नहीं है और इसका उपयोग केवल सिंगल थ्रेडेड केस में किया जाना चाहिए।
बफ़र रीडर प्रकृति में समकालिक है। मल्टीथ्रेडिंग वातावरण के दौरान, BufferReader का उपयोग किया जाना चाहिए।
2
बफर मेमोरी
स्कैनर में 1 केबी चार बफर का थोड़ा बफर है।
बफर रीडर में स्कैनर की तुलना में 8KB बाइट बफर का बड़ा बफर है।
3
प्रसंस्करण गति
स्कैनर थोड़ा धीमा है क्योंकि इसे डेटा को भी पार्स करने की आवश्यकता है।
बफ़र रीडर स्कैनर की तुलना में तेज़ है क्योंकि यह केवल एक वर्ण स्ट्रीम को पढ़ता है।
4
तरीके
स्कैनर में नेक्स्टइंट (), नेक्स्टशॉर्ट () आदि जैसे तरीके हैं।
BufferReader में parseInt (), parseShort () आदि जैसे तरीके हैं।
5
पंक्ति पढ़ें
स्कैनर के पास एक लाइन को पढ़ने के लिए नेक्स्टलाइन () मेथड है।
BufferReader में एक पंक्ति पढ़ने के लिए विधि readLine () है।

स्कैनर बनाम बफ़र रीडर का उदाहरण

JavaTester.java

आयात करें BufferedReader बफ़ररीडर =नया BufferedReader (नया InputStreamReader (System.in)); System.out.println ("एक नंबर दर्ज करें:"); int a =Integer.parseInt(bufferReader.readLine ()); System.out.printf ("आपने दर्ज किया:" + ए); स्कैनर स्कैनर =नया स्कैनर (System.in); System.out.println ("\ n एक नंबर दर्ज करें:"); ए =स्कैनर। अगलाइंट (); System.out.printf ("आपने दर्ज किया:" + ए); }}

आउटपुट

नंबर दर्ज करें:1आपने दर्ज किया:1नंबर दर्ज करें:2आपने दर्ज किया:2

  1. जावा में अपवाद और त्रुटि के बीच अंतर

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

  1. जावा में सीरियलाइज़ेशन और एक्सटर्नलाइज़ेशन के बीच अंतर

    सीरियलाइज़ेशन और एक्सटर्नलाइज़ेशन दोनों किसी ऑब्जेक्ट को स्ट्रीम बाइट में बदलने और डेटाबेस या मेमोरी में बाइट स्ट्रीम को स्टोर करने की प्रक्रियाएँ हैं। java.io.Serializable इंटरफ़ेस को लागू करने वाले वर्ग को क्रमबद्ध किया जा सकता है। दूसरी ओर, आवेदन में आवश्यकता के आधार पर कस्टम क्रमांकन के लिए उपयो

  1. जावा में इटरेटर और एन्यूमरेशन के बीच अंतर

    इटरेटर और एन्यूमरेशन दोनों ही संग्रह से किसी तत्व को पार करने और एक्सेस करने के लिए कर्सर हैं। वे दोनों संग्रह ढांचे से संबंधित हैं। संग्रह ढांचे में JDK1.0 और Iterator में JDK.1.2 संस्करण में गणना जोड़ी गई थी। एन्यूमरेशन संग्रह में संरचनात्मक परिवर्तन नहीं कर सकता क्योंकि इसमें संग्रह में तत्व तक