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

Java में Scanner और BufferedReader क्लास में अंतर

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

क्र. सं.मुख्य बिंदुScanner ClassBufferedReader Class
1सिंक्रोनसScanner प्रकृति में सिंक्रोनस नहीं है और केवल सिंगल-थ्रेडेड केस में उपयोग किया जाना चाहिए।BufferedReader प्रकृति में सिंक्रोनस है। मल्टीथ्रेडिंग वातावरण में, BufferedReader का उपयोग किया जाना चाहिए।
2बफर मेमोरीScanner के पास 1 KB कैरेक्टर बफर का छोटा बफर होता है।BufferedReader के पास Scanner की तुलना में 8KB बाइट बफर का बड़ा बफर होता है।
3प्रोसेसिंग गतिScanner थोड़ा धीमा है क्योंकि इसे डेटा को पार्स करने की भी आवश्यकता होती है।BufferedReader Scanner से तेज़ है क्योंकि यह केवल कैरेक्टर स्ट्रीम पढ़ता है।
4मेथड्सScanner में nextInt(), nextShort() जैसे मेथड्स होते हैं।BufferedReader में parseInt(), parseShort() जैसे मेथड्स होते हैं।
5लाइन पढ़ेंScanner में लाइन पढ़ने के लिए nextLine() मेथड होता है।BufferedReader में लाइन पढ़ने के लिए readLine() मेथड होता है।

Scanner बनाम BufferedReader का उदाहरण

JavaTester.java

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.util.Scanner; 
public class JavaTester { 
    public static void main(String args[]) throws NumberFormatException, IOException { 
        BufferedReader bufferReader = new BufferedReader(new InputStreamReader(System.in)); 
        System.out.println("Enter an number:"); 
        int a = Integer.parseInt(bufferReader.readLine()); 
        System.out.printf("You entered: " + a); 
        Scanner scanner = new Scanner(System.in); 
        System.out.println("\nEnter an number:"); 
        a = scanner.nextInt(); 
        System.out.printf("You entered: " + a); 
    } 
}

आउटपुट

Enter an number: 1 You entered: 1 Enter an number: 2 You entered: 2
  1. - जावा में Exception और Error के बीच अंतर

    Exceptions और Errors दोनों Throwable क्लास के सबक्लास हैं। Error एक ऐसी समस्या को इंगित करता है जो मुख्य रूप से सिस्टम रिसोर्सेज की कमी के कारण होती है और हमारे एप्लिकेशन को इस प्रकार की समस्याओं को नहीं पकड़ना चाहिए। Errors के कुछ उदाहरण हैं: सिस्टम क्रैश एरर और आउट ऑफ मेमोरी एरर। Errors ज्यादातर र

  1. - जावा में Serialization और Externalization के बीच अंतर

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

  1. - जावा में Iterator और Enumeration के बीच अंतर

    Iterator और Enumeration दोनों कलेक्शन से एलिमेंट्स को ट्रैवर्स और एक्सेस करने के लिए कर्सर हैं। वे दोनों कलेक्शन फ्रेमवर्क से संबंधित हैं। Enumeration JDK 1.0 में जोड़ा गया था और Iterator JDK 1.2 वर्जन में कलेक्शन फ्रेमवर्क में जोड़ा गया। Enumeration कलेक्शन में स्ट्रक्चरल चेंज नहीं कर सकता क्योंकि