如何在Java中使用BufferedReader从文件读取整数?

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