📜  Java IO FileReader 类(1)

📅  最后修改于: 2023-12-03 15:15:56.251000             🧑  作者: Mango

Java IO FileReader 类介绍

1. 简介

FileReader 类是 Java IO 包中的一个类,它用于读取字符流。它继承自 InputStreamReader 类并实现了 Closeable 接口。

2. 构造方法

FileReader 类提供了以下两个构造方法:

a. FileReader(File file)

创建一个新的 FileReader 对象,以读取给定文件的字符流。

File file = new File("path/to/file.txt");
FileReader reader = new FileReader(file);
b. FileReader(String fileName)

创建一个新的 FileReader 对象,以读取具有给定文件名的文件的字符流。

String fileName = "path/to/file.txt";
FileReader reader = new FileReader(fileName);
3. 常用方法
a. int read()

从输入流读取一个字符,并返回其 Unicode 值。如果已到达流的末尾,则返回 -1。

int data;
while ((data = reader.read()) != -1) {
    char character = (char) data;
    // 处理读取到的字符
}
b. int read(char[] buffer)

从输入流读取字符,并将它们存储到字符数组 buffer 中。返回实际读取的字符数,如果已到达流的末尾,则返回 -1。

char[] buffer = new char[1024];
int bytesRead;
while ((bytesRead = reader.read(buffer)) != -1) {
    // 处理读取到的字符数组
}
c. void close()

关闭流并释放与之关联的所有系统资源。

reader.close();
4. 示例

下面是使用 FileReader 类读取文件内容的示例:

import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class FileReaderExample {
    public static void main(String[] args) {
        File file = new File("path/to/file.txt");
        try (FileReader reader = new FileReader(file)) {
            int data;
            while ((data = reader.read()) != -1) {
                char character = (char) data;
                System.out.print(character);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

以上示例会逐个字符读取文件并打印在控制台上。

5. 注意事项
  • 需要手动处理异常,常见的异常是 IOException
  • 在使用完毕后,应该调用 close() 方法关闭流释放资源。

以上就是 FileReader 类的介绍,在读取字符流的时候可以方便地使用该类来操作文件。