Java中的FileReader和BufferedReader函数用法和示例
FileReader和BufferedReader是Java IO的常用类之一,用于读取文件中的数据。 FileReader是从磁盘文件中连续读取字符,而BufferedReader是从磁盘文件中读取一行字符。下面将分别介绍FileReader和BufferedReader函数的用法和示例。
一、FileReader类
FileReader类继承了InputStreamReader并实现了对文件读取的支持。FileReader使用系统默认的字符编码方式读取文件内容。FileReader主要有以下两个常用的构造方法:
1.public FileReader(String fileName) throws FileNotFoundException:
该方法利用指定文件名构造一个FileReader对象,与此同时还可以指明读取文件时的字符编码方式。当文件不存在时,抛出FileNotFoundException异常。
2.public FileReader(File file) throws FileNotFoundException:
该方法利用指定File对象构造一个FileReader对象。当File对象不存在时,抛出FileNotFoundException异常。
read()方法:FileReader中的read()方法用于从磁盘文件中读取一个字符的数据并返回该字符的Unicode码值,当到达文件的结尾时,将会返回-1,表示文件读取已完成。FileReader中常用的方法有read()、read(char[] b)、read(char[] b, int off, int len)。
下面是一个读取文件内容并打印的示例:
import java.io.FileReader;
import java.io.IOException;
public class FileReaderTest {
public static void main(String[] args) throws IOException {
FileReader fileReader = new FileReader("example.txt");
int data;
while ((data = fileReader.read()) != -1) {
System.out.print((char) data);
}
fileReader.close();
}
}
二、BufferedReader类
BufferedReader是一个用于读取文本的缓冲字符流,能够读取一个字符流的一行,因此比FileReader类更常用。BufferedReader类包含了read()和readLine()两个方法,其中readLine()方法是BufferedReader类比较重要的方法,能够读取到一行字符。
BufferedReader常用的构造方法如下:
1. BufferedReader(Reader in):使用默认缓冲区大小创建一个缓冲字符输入流。其中Reader in参数指定输入流。
2. BufferedReader(Reader in, int size):指定缓冲区大小创建一个缓冲字符输入流。
readLine()方法:BufferedReader中的readLine()方法用于读取一行字符,并返回一个包含该行所有字符的字符串,是BufferedReader的重点方法。
下面是一个读取文件内容并打印每一行的示例:
import java.io.*;
public class BufferedReaderTest {
public static void main(String[] args) throws Exception{
File file = new File("example.txt");
FileInputStream fileInputStream = new FileInputStream(file);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
int lineNumber = 0;
while ((line = bufferedReader.readLine()) != null) {
lineNumber ++;
System.out.println("line" + lineNumber + ": " + line);
}
bufferedReader.close();
}
}
以上就是FileReader和BufferedReader函数用法和示例,需要注意的是,在使用这两个方法时,需要对异常进行捕获和处理。对于读取大文件时,建议使用BufferedReader来读取,因为其可以读取多行,减少了IO操作,减少了资源开销。
