📜  Java中的 PushbackReader ready() 方法和示例(1)

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

Java中的 PushbackReader ready() 方法和示例

在Java中,PushbackReader是一个字符流处理类,它可以读取字符流并将字符流推回到流中。

其中,PushbackReader类中的ready()方法可以检查是否有更多的数据可以读取。本文将介绍该方法及其使用示例。

PushbackReader ready() 方法

ready()方法是PushbackReader类中的一种方法,用于检查是否有更多的数据可以读取。下面是方法的定义:

public boolean ready() throws IOException

其中,返回值为boolean类型,true表示有更多的数据可以读取,false表示没有更多的数据可以读取。

示例

下面是一个使用PushbackReader类的示例。假设我们有一个文本文件,其内容如下:

Hello World!

我们可以使用以下代码来检查该文件是否还有数据可以读取:

import java.io.*;

public class ReadyDemo {
    public static void main(String[] args) {
        try {
            FileReader fileReader = new FileReader("file.txt");
            PushbackReader pushbackReader = new PushbackReader(fileReader);

            int data = pushbackReader.read();
            while (data != -1) {
                System.out.print((char) data);
                if (pushbackReader.ready()) {
                    data = pushbackReader.read();
                } else {
                    break;
                }
            }
            pushbackReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的代码中,我们首先使用FileReader类从文件中读取数据,然后将FileReader对象作为参数传递给PushbackReader对象的构造函数。接着,使用while循环读取数据,每次读取一个字符,并使用ready()方法检查是否还有更多的字符可以读取。

如果还有更多的字符可以读取,则调用read()方法继续读取,否则退出循环。

运行以上程序,程序将会输出以下结果:

Hello World!

这是因为PushbackReader的ready()方法返回true,所以我们可以继续读取文件中的字符数据。

总结

本文介绍了Java中的PushbackReader类和其ready()方法的使用示例。使用PushbackReader及其ready()方法可以方便地读取文本文件,对于字符流处理非常有帮助。