📜  Java.io.Reader类(1)

📅  最后修改于: 2023-12-03 14:42:20.794000             🧑  作者: Mango

Java.io.Reader类

Java中的java.io.Reader类是一个抽象类,它是所有字符输入流的父类。

构造方法

Reader类有多个构造方法,但因为它是一个抽象类,所以不能直接使用这些构造方法来创建对象。

protected Reader()
protected Reader(Object lock)
常用方法

Reader类有一些常用的方法,包括:

  • close():关闭流并释放与该流相关的所有系统资源。
  • mark(int readAheadLimit):在读到某个位置时标记一个位置,以便以后可以重置回此位置。 readAheadLimit参数告诉输入流在标记位置失效之前可以读取多少数据。
  • markSupported():判断流是否支持mark()方法。
  • read():读取单个字符。
  • read(char[] cbuf):将字符读入数组中。
  • read(char[] cbuf, int offset, int length):将字符读入数组中的指定位置。
  • ready():判断此流是否已准备好用于读取。
  • reset():将流重置为最近的标记位置。
  • skip(long n):跳过字符。
示例

下面的示例演示了如何使用Reader类来读取文件中的字符,并将这些字符打印到控制台上。

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

public class FileReaderExample {
    public static void main(String[] args) throws IOException {
        FileReader reader = null;

        try {
            reader = new FileReader("file.txt");

            int data = reader.read();
            while (data != -1) {
                System.out.print((char) data);
                data = reader.read();
            }
        } finally {
            if (reader != null) {
                reader.close();
            }
        }
    }
}

在上面的示例中,FileReader类继承自Reader类,因此可以使用Reader类中的方法来读取文件中的字符。首先使用FileReader类创建一个reader对象,然后使用read()方法来读取每个字符,并将其打印到控制台上,直到文件末尾。最后调用close()方法关闭reader对象。

总结

java.io.Reader类是一个抽象类,它是所有字符输入流的父类。它定义了一些常用的方法,如close()mark()read()等来读取字符流。您可以使用FileReader类或BufferedReader类等继承Reader类的子类来读取文件中的字符。