BufferedReader विकल्प
तेज़ कंसोल रीडिंग
BufferedReader विकल्प, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
तेज़ रीडर
बड़े इनपुट के लिए Scanner सुविधाजनक, लेकिन अपेक्षाकृत धीमा है। बहुत अधिक मात्रा में पढ़ने के लिए java.io का BufferedReader काफी तेज़ है, क्योंकि यह एक बार में बड़े खंड पढ़ता है।
BufferedReader बनाना
System.in के चारों ओर InputStreamReader लपेटकर उसे BufferedReader के अंदर रखें। यहाँ हम StringReader का उपयोग करते हैं ताकि उदाहरणों को टाइप किए गए इनपुट के बिना चलाया जा सके।
import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new StringReader("Hello"));
System.out.println(reader.readLine());
reader.close();
}
}readLine एक String लौटाता है
readLine() पंक्ति समाप्त करने वाले चिह्न के बिना, एक पूरी पंक्ति को String के रूप में पढ़ता है। Scanner के विपरीत, यह हमेशा पाठ लौटाता है, इसलिए संख्याओं को आपको स्वयं पार्स करना पड़ता है।
import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new StringReader("first\nsecond"));
System.out.println(reader.readLine());
System.out.println(reader.readLine());
reader.close();
}
}इनपुट का अंत null होता है
जब और कोई इनपुट नहीं होता, तो readLine() null लौटाता है। यही पढ़ना बंद करने का संकेत है।
import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new StringReader("one line"));
System.out.println(reader.readLine());
System.out.println(reader.readLine());
reader.close();
}
}सभी पंक्तियाँ पढ़ना
इनपुट की प्रत्येक पंक्ति पर काम करने के लिए तब तक लूप चलाएँ जब तक readLine(), null न हो।
import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new StringReader("a\nb\nc"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println("> " + line);
}
reader.close();
}
}संख्याओं को स्वयं पार्स करना
चूँकि readLine पाठ देता है, संख्या की आवश्यकता होने पर उसे Integer.parseInt से बदलें।
import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new StringReader("42"));
int n = Integer.parseInt(reader.readLine().trim());
System.out.println(n * 2);
reader.close();
}
}पंक्ति को टोकनों में बाँटना
एक पंक्ति से कई संख्याएँ पढ़ने के लिए split से पंक्ति को बाँटें और प्रत्येक हिस्से को पार्स करें।
import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new StringReader("10 20 30"));
String[] parts = reader.readLine().split(" ");
int sum = 0;
for (String p : parts) {
sum += Integer.parseInt(p);
}
System.out.println(sum);
reader.close();
}
}जाँचे जाने वाले अपवाद
readLine एक जाँचे जाने वाले IOException की घोषणा करता है, इसलिए आपको या तो throws IOException घोषित करना होगा या कॉल को try-catch में रखना होगा। Scanner में इसकी आवश्यकता नहीं होती।
import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new StringReader("data"));
System.out.println(reader.readLine());
reader.close();
} catch (IOException e) {
System.out.println("Read error");
}
}
}संसाधनों के साथ Try
संसाधनों के साथ try का उपयोग करें, ताकि कोई अपवाद आने पर भी रीडर अपने-आप बंद हो जाए।
import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
try (BufferedReader reader = new BufferedReader(new StringReader("auto-closed"))) {
System.out.println(reader.readLine());
}
}
}System.in का वास्तविक उदाहरण
वास्तविक कीबोर्ड इनपुट के लिए System.in को लपेटें। इसे स्थानीय रूप से चलाएँ, एक पंक्ति टाइप करें और फिर Enter दबाएँ।
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter text: ");
String input = reader.readLine();
System.out.println("You typed: " + input);
}
}Scanner और BufferedReader की तुलना
सुविधा और आसान संख्या-पार्सिंग के लिए Scanner चुनें। बड़े इनपुट के साथ गति के लिए BufferedReader चुनें, लेकिन IOException को स्वयं पार्स और संभालना स्वीकार करें।
त्वरित जाँच
BufferedReader संबंधी अपने ज्ञान की जाँच करें।
पुनरावलोकन
आपने BufferedReader का विकल्प सीखा:
System.inकोInputStreamReaderमें और फिरBufferedReaderमें लपेटेंreadLine()पूरी पंक्ति लौटाता है या इनपुट के अंत मेंnullलौटाता हैInteger.parseIntऔरsplitसे संख्याओं को स्वयं पार्स करें- यह जाँचा जाने वाला
IOExceptionउत्पन्न करता है, इसलिए उसे संभालें या घोषित करें - बड़े और प्रदर्शन-संवेदनशील इनपुट के लिए इसे Scanner की अपेक्षा चुनें
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “BufferedReader विकल्प” पाठ निःशुल्क है?
हाँ—“BufferedReader विकल्प” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“BufferedReader विकल्प” में मैं क्या सीखूँगा?
तेज़ कंसोल रीडिंग आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“BufferedReader विकल्प” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Scanner से input पढ़ना
- संख्याएँ और पंक्तियाँ पढ़ना
- उपयोगकर्ता input का सत्यापन
- BufferedReader विकल्प