Java का BufferedReader
In this page:
import java.io.*;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line = reader.readLine();
Introduction to BufferedReader
java.io से BufferedReader किसी और reader को wrap करता है (आमतौर पर new InputStreamReader(System.in)) और internally input के chunks buffer करता है, जो धीमी, repeated low-level read calls घटाता है।
उदाहरण: Introduction to BufferedReader
import java.io.BufferedReader;
import java.io.StringReader;
public class Main {
public static void main(String[] args) throws Exception {
// new BufferedReader(new InputStreamReader(System.in)) is typical; StringReader stands in here
BufferedReader br = new BufferedReader(new StringReader("buffered input"));
System.out.println(br.readLine());
}
}
Login to try C/C++/Java/PHP code in the editor
Reading a Line of Text
readLine() एक समय में text की एक पूरी line खींचता है और इसे एक String के रूप में return करता है, या जब पढ़ने के लिए कुछ न बचे तो null return करता है -- उस null की जांच करना एक loop में end-of-input detect करने का तरीका है।
उदाहरण: Reading a Line of Text
// Import java.io.BufferedReader so it can be used by its short name
import java.io.BufferedReader;
// Import java.io.StringReader so it can be used by its short name
import java.io.StringReader;
// Define the class Main
public class Main {
// Program entry point: the JVM starts running here
public static void main(String[] args) throws Exception {
// Create a new BufferedReader object and store it in br
BufferedReader br = new BufferedReader(new StringReader("first line"));
// Declare line and set it to br.readLine()
String line = br.readLine();
// Print a line to the console
System.out.println(line != null ? line : "end of input");
}
}
Login to try C/C++/Java/PHP code in the editor
Reading Numbers
चूंकि readLine() आपको सिर्फ raw text देता है, "42" को एक असली int में convert करने का मतलब है returned string पर खुद explicitly Integer.parseInt() call करना -- BufferedReader कोई numeric parsing नहीं करता।
उदाहरण: Reading Numbers
import java.io.BufferedReader;
import java.io.StringReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new StringReader("42"));
int number = Integer.parseInt(br.readLine()); // readLine() only gives raw text
System.out.println(number + 1);
}
}
Login to try C/C++/Java/PHP code in the editor
Handling Exceptions
लगभग हर BufferedReader method declare करता है कि यह IOException throw कर सकता है, एक checked exception, इसलिए आपका code तब तक compile भी नहीं होगा जब तक आप calls को एक try-catch में wrap न करें या enclosing method पर throws IOException declare न करें।
उदाहरण: Handling Exceptions
import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new StringReader("data"));
try {
System.out.println(br.readLine());
} catch (IOException e) { // readLine() throws a checked exception
System.out.println("I/O error: " + e.getMessage());
}
}
}
Login to try C/C++/Java/PHP code in the editor
BufferedReader vs Scanner
BufferedReader का बड़ा internal buffer इसे line by line बड़ी files पढ़ने के लिए noticeably तेज़ बनाता है, जबकि Scanner की built-in type parsing (nextInt, nextDouble) इसे छोटे, interactive command-line programs के लिए ज़्यादा convenient बनाती है।
उदाहरण: BufferedReader vs Scanner
import java.io.BufferedReader;
import java.io.StringReader;
public class Main {
public static void main(String[] args) throws Exception {
// BufferedReader: faster for large files, no built-in type parsing
BufferedReader br = new BufferedReader(new StringReader("line by line"));
System.out.println(br.readLine());
// Scanner: slower, but nextInt()/nextDouble() parse types for you directly
}
}
Login to try C/C++/Java/PHP code in the editor
- यह भूल जाना कि
readLine()एकString(या input के आखिर मेंnull) return करता है, इसलिए numbers कोInteger.parseInt()से convert किया जाना चाहिए। IOExceptionhandle न करना, जो एक checked exception है, इसलिए code compile नहीं होता।- Reader बंद न करना, या try-with-resources उपयोग न करना।
Chapter Quiz — Complete all 6 topics to unlock
0/6 topics done
Complete these topics first: