How to read integers from a file using BufferedReader in Java?
Java的BufferedReader类用于从指定的源读取字符流(字符输入流)。此类的构造函数接受InputStream对象作为参数。
此类提供一种称为readLine()的方法,该方法从源中读取并返回下一行,并以String格式返回。
BufferedReader类不提供任何直接方法来从用户读取整数,您也需要依靠readLine()方法读取整数。即最初,您需要读取字符串格式的整数。
Integer类的parseInt()方法接受一个String值,将其解析为带符号的十进制整数,然后将其返回。
使用此方法将读取的Sting值转换为整数并使用。简而言之,要使用BufferedReader类读取整数值形式的用户-
- 实例化InputStreamReader类,绕过您的InputStream对象作为参数。
- 然后,创建一个BufferedReader,绕过上面获得的InputStreamReader对象作为参数。
- 现在,使用readLine()方法从当前读取器中以String形式读取整数值。
- 然后使用Integer类的parseInt()方法将读取的String解析为一个整数。
例
以下Java程序演示了如何使用BufferedReader类从用户读取整数数据。
现场演示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class Employee{ String name; int id; int age; Employee(String name, int age, int id){ this.name = name; this.age = age; this.id = id; } public void displayDetails(){ System.out.println("Name:"+this.name); System.out.println("Age:"+this.age); System.out.println("Id:"+this.id); } } public class ReadData { public static void main(String args[]) throws IOException { BufferedReader reader =new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter your name:"); String name = reader.readLine(); System.out.println("Enter your age:"); int age = Integer.parseInt(reader.readLine()); System.out.println("Enter your Id:"); int id = Integer.parseInt(reader.readLine()); Employee std = new Employee(name, age, id); std.displayDetails(); } } |
输出量
1 2 3 4 5 6 7 8 9 | Enter your name: Krishna Enter your age: 25 Enter your Id: 1233 Name: Krishna Age: 25 Id: 1233 |