📜  Java中的 PushbackReader read(char, int, int) 方法和示例(1)

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

Java中的PushbackReader read(char, int, int)方法和示例

介绍

PushbackReader是Java中I/O库中提供的类之一,用来将一个Reader对象转化为一个可以退回字符的Reader对象。

PushbackReader类提供了许多读字符的方法,其中就包括了read(char, int, int)方法。

read(char, int, int)方法的作用是从输入流中读取数据到指定的字符数组中,并且从指定的字符数组中的索引开始,在指定长度内读取数据。

方法签名
public int read(char[] cbuf, int off, int len) throws IOException

参数:

  • cbuf:字符数组,用于保存读取的数据。
  • off:从字符数组的哪个位置开始保存读取到的数据。
  • len:读取的最大字符数。

返回值:返回读取的字符数,如果已经到达输入流的末尾,则返回-1。

示例代码
import java.io.FileReader;
import java.io.PushbackReader;

public class PushbackReaderExample {
    public static void main(String[] args) throws Exception {
        FileReader fileReader = new FileReader("test.txt");
        PushbackReader pushbackReader = new PushbackReader(fileReader);
        char[] buffer = new char[10];
        int readCount = pushbackReader.read(buffer, 0, 10);

        while (readCount != -1) {
            for (int i = 0; i < readCount; i++) {
                System.out.print(buffer[i]);
            }
            readCount = pushbackReader.read(buffer, 0, 10);
        }

        pushbackReader.close();
    }
}
示例说明

以上示例代码中,我们通过FileReader类创建了一个文件输入流,然后又通过PushbackReader类将其转化为一个带有退回字符功能的流。

使用read(char, int, int)方法从输入流中读取了10个字符,保存到buffer数组中,并打印出来。

之后通过一个循环,一次读取10个字符,并将其打印出来,直到读到了输入流的末尾。

最后,记得关闭流。