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


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

此类提供了一个名为 **readLine()** 的方法,该方法读取并返回源中的下一行,并以字符串格式返回。

**BufferedReader** 类没有提供任何直接读取用户整数的方法,您需要依赖 readLine() 方法来读取整数。即,您需要首先以字符串格式读取整数。

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

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

  • 实例化一个 **InputStreamReader** 类,并将您的 InputStream 对象作为参数传递。

  • 然后,创建一个 BufferedReader,并将上面获得的 InputStreamReader 对象作为参数传递。

  • 现在,使用 **readLine()** 方法从当前读取器中读取整数形式的值作为字符串。

  • 然后使用 Integer 类的 parseInt() 方法将读取的字符串解析为整数。

示例

以下 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

更新于: 2019年9月10日

18K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.