#83 User Input using BufferedReader and Scanner in Java
HTML-код
- Опубликовано: 30 июл 2024
- Check out our courses:
Spring and Microservices Weekend Live Batch : bit.ly/spring-live-weekend
Coupon: TELUSKO10 (10% Discount)
Master Java Spring Development : bit.ly/java-spring-cloud
Udemy Courses:
Java:- bit.ly/JavaUdemyTelusko
Spring:- bit.ly/SpringUdemyTelusko
Java For Programmers:- bit.ly/javaProgrammers
For More Queries WhatsApp or Call on : +919008963671
website : courses.telusko.com/
In this lecture we are discussing about different ways to take input in java:
how to take input from user :
in C++ we use cin
in C we use scanf()
in python we use input()
How to take input in java?
#1
using System.in.read()
-- using System.in.read() we can take single character input only, if we provide multiplecharacterr
itconsidersr the firstcharacterr of enter sequence.
-- if we want to show result of multiple character we can use loop (not in video lecture forcuriosityy)
e.g
class Main{
public static void main(String[] args) throws Exception{
int i =System.in.read(); // read a byte from the keyboard
System.out.println(i); // print the byte value
/*
input: a
output: 97
input: A
output: 65
input: 345 /considere 3 digit from number
output: 51
input: 3456 //consider 3 digit from number
output: 51
input: 3
output: 51
return ascii value of the input
*/
// to get actual number
// 1. convert ascii value to char
System.out.println((char)i); // print the char value
// 2. subtract 48 from the ascii value
System.out.println(i-48); // print the actual number
//but it is only for single digit number
// formultiple-digittnumbersr we have to use loop
// 3. use loop
int n=0;
while(i!=13){ // 13 is ascii value of enter key
n=n*10+(i-48);
i=System.in.read();
}
System.out.println(n);
}
}
using InputStreamReader class:
In Java, the InputStreamReader class is used to read data from an input stream and convert it into characters.
It is often used with the BufferedReader class, which provides a buffered way to read characters from an input stream.
e.g
class Main{
public static void main(String[] args) {
BufferedReader br = null;
try {
// create a new InputStreamReader to read from System.in
InputStreamReader isr = new InputStreamReader(System.in);
// create a new BufferedReader to read from the InputStreamReader
br = new BufferedReader(isr);
System.out.println("Enter your name:");
// read a line of text from the BufferedReader
String name = br.readLine();
System.out.println("Hello, " + name + "!");
} catch (IOException e) {
System.err.println("Error reading input: " + e.getMessage());
}
finally{
if(br!=null){
try{
br.close();
}
catch(IOException e){
System.out.println("There might some problem to closing the resource");
}
}
}
}
}
Note: if open the resource then close is important
Use of Scanner Class :
To make programmer life easy
Scanner class was introduced in Java 1.5 as part of the Java API to provide an easy way
to read user input from various sources such as the keyboard.
a) Reading input through keyboard:
-- import java.util.Scanner; need to import in java file
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = scanner.nextLine();
System.out.println("Hello, " + name + "!");
-- Scanner object using the System.in input stream, which represents the keyboard.
We then use the nextLine() method to read a line of text entered by the user.
Important: From here this part is not in video, for your cursoity we are put only in this description.
b) read through file
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
File file = new File("input.txt");
try {
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
} catch (FileNotFoundException e) {
System.out.println("File not found: " + e.getMessage());
}
we create a Scanner object using a File object that represents the input file.
We then use the hasNextLine() and nextLine() methods to read each line of text from the file.
c) Read input though String
import java.util.Scanner;
String input = "156 2 3 4 5";
Scanner scanner = new Scanner(input);
while (scanner.hasNextInt()) {
int number = scanner.nextInt();
System.out.println(number);
}
-- Scanner object using a String object that contains the input. We then use the hasNextInt() and nextInt() methods to read each integer from the string.
Github repo : github.com/navinreddy20/Javac... Наука
Really appreciate the way you taught this concept. Going through each of the class, methods, constructors and showing their implementations. I have never seen someone depicting the whole idea behind BufferedReader before. Thanks for this.
you deserve more views diving really deep into some details that helps to better understand makes you really special from any other channel,
I think I found a treasure here
thanks a lot
no useless talk
to the point, crisp short lecture
does the job
Such clarity and beautiful explanation. You have always been my goto person when I need to understand something which I know I cannot understand from any other video. You are awesome.
And the beauty is..
I selected the best playlist to learn java😊.
Going into insane detail! Well done!
Wonderful channel. You are one of the few people, which organize his courses in such a way, that i can quickly see in which series, a video is in.
What does "x:" and "a:" mean in Java in System.out.println(x:"Hello")?
@@nononnomonohjghdgdshrsrhsjgd It is Vscode defaults there is no need to mentioned it
precise and on point! love ur style
best channel of the century 🎉🎉
Great explanation and good examples. Thank you for this good and on point lecture.
Ty for the video!!! Can scanner class be used with other resources besides command line input? for example a text file, or network input?
Great explainer -- tight -- all the best Sir
Very helpful tutorial
I love your explanation
10:12 😂😂😂 love your teaching man
Amazing class
can anyone explain why out is defined null and how it is working with null because when i write this program by classes and calling it in main, it gives an java.lang.NullPointerException
Yes Elian ! I am waiting why you keep this video in #83 and i jumped from #13 video direct to #83 hahahahah
So out is a PrintStream type of reference initiated with null, then how it is used to calling println( ) which is a non static method right we need to create a object of PrintStream class so that we can access any non static members in that class
Thanks for such deep dive in the class>object>class>method🦖
Hats Off to your way of explanation 🔥
In the description,
File file = new file("input.txt")
Should'nt this line be given inside try?
Thank you sir❤❤
nice sir
We are not getting the videos in order can you please rearrange it
Which compiler are you using
one more method PrintWriter..?
8:54 Telusko casually signaling he's part of the illuminati
Love the videos btw
thumbs up
wow
Ascii or utf16 🤔
is out an object or object reference?
it is an object BTW what is object reference
Buffer reader works faster than scanner...
Can anyone tell which IDE is this?
Intellij ide
@@hemalathatummalapalli4636 Thank u
Its VS code not Intellij
@@hemalathatummalapalli4636kya code krega re tu 😂😂
Better to use Scanner class right sir?
yes....scanner class is far better than bufferedReader class!!
@@ankushdhull7312 but scanner class is very slow
@@vinayv6729 who cares bro... we need shortcuts
@@syedadil7256 maybe but it does matter in cp.
Scanner was introduced in java 1.5
People before java 1.5 😅😅
In python just write input() done.
but python is slow. There is always a trade off
@@yenaremadun7184 in C++ you just write cin LOL
rip Buffer reader 💀🐿️😅
Do bufferreader still work?
BufferedReader is faster than Scanner
just waste people time
Really appreciate the way you taught this concept. Going through each of the class, methods, constructors and showing their implementations. I have never seen someone depicting the whole idea behind BufferedReader before. Thanks for this.