使用BufferedReader类来读取文件
其实在现在已经拥有Scanner类的时候对于BufferedReader类而言功能不如Scanner类强大,不过还是一个比较常用的类
我们先看代码
package com.li;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
// TODO 自动生成的方法存根
BufferedReader inputStream = null;
try
{
inputStream = new BufferedReader(new
FileReader("stuff.txt"));
String line = inputStream.readLine();
System.out.println(line);
inputStream.close();
}catch(FileNotFoundException e)
{
System.out.println("File was not Found!");
}catch(IOException e)
{
System.out.println("Error opening file");
}
}
}
与Scanner类相比,BufferedReader类中读取文本文件的数据方法只有两个,一个是read,一个是readLine方法。
read方法是读取一个字符,而且返回一个所读字符所对应的int类型的值,,要获得一个char值需要进行类型转换,而汉字占两个字符,无法使用read方法读。在读到文件尾的时候会返回一个-1。
readLine方法是读一行数据,并返回该行数据,在读到文件尾的时候会返回一个null。