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

Java的BufferedReader类用于从指定的源读取字符流(字符输入流)。此类的构造函数接受InputStream对象作为参数。

此类提供一种称为readLine()的方法,该方法从源中读取并返回下一行,并以String格式返回。

的BufferedReader类不提供任何直接的方法来读取你需要依靠用户的整数readLine()方法读取整数太大。即最初,您需要以字符串格式读取整数。

Integer类的parseInt()方法接受一个String值,将其解析为带符号的十进制整数,然后将其返回。

使用此方法将读取的Sting值转换为整数并使用。简而言之,要使用BufferedReader类读取整数值形式的用户-

  • 实例化InputStreamReader类,绕过您的InputStream对象作为参数。

  • 然后,创建一个BufferedReader,绕过上面获得的InputStreamReader对象作为参数。

  • 现在,使用readLine()方法从当前读取器中以String形式读取整数值。

  • 然后使用parseInt()Integer类的方法将读取的String解析为一个整数。

示例

以下Java程序演示了如何使用BufferedReader类从用户读取整数数据。

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();
   }
}

输出结果

Enter your name:
Krishna
Enter your age:
25
Enter your Id:
1233
Name: Krishna
Age: 25
Id: 1233