Java FilterReader.ready()方法

原文:https://www.studytonight.com/java-file-io/filterreader-ready-method-in-java

在本教程中,我们将学习 JavaFilterReader 类的ready()方法。此方法用于检查该流是否准备好被读取。这是一个非静态方法,只能用类对象访问,如果我们试图用类名访问这个方法,那么我们会得到一个错误。

句法

这是一个ready()方法的语法声明,这个方法不接受任何参数,根据流是否准备好读取返回布尔值。

public boolean ready();

示例 1:过滤器读取器的准备方法

在这个例子中,我们调用 ready()方法来检查流是否准备好从中读取数据,这里这个方法返回的是真值,这意味着这个方法已经准备好读取数据了。

import java.io.FilterReader;
import java.io.Reader;
import java.io.StringReader;
public class StudyTonight 
{
    public static void main(String args[])
    {
        try
        {
            Reader reader = new StringReader("Welcome to Studytonight"); 
            FilterReader filterReader = new FilterReader(reader){}; 

            boolean isReady = filterReader.ready(); 
            System.out.println("Stream is ready to read:"+isReady);
            filterReader.close(); 
        }
        catch(Exception e)
        {
            System.out.println("Error: "+e.toString());
        }
    }
}

流已准备好读取:真

示例 2:过滤器读取器的准备方法

在这个例子中,我们实现了FIlterReader 类的各种方法。在这里,最初,我们使用 StringReader 类创建了一个读取器。然后通过使用FilterReader 类的 skip()方法,它将跳过读取前 8 个字符,并指向第 9 个字符,这就是为什么当我们试图读取时,它将从第 9 个字符开始。我们可以使用ready()方法来检查读者是否准备好阅读。在程序中,我们从第 9 个位置开始向前读取 8 个字符,然后在调用 reset()方法后指针将回到初始位置。我们可以看到,当我们在重置方法后读取数据时,它会从头开始显示。

import java.io.FilterReader;
import java.io.Reader;
import java.io.StringReader;
public class StudyTonight 
{
    public static void main(String args[])
    {
        try
        {
            Reader reader = new StringReader("Welcome to Studytonight"); 
            FilterReader filterReader = new FilterReader(reader){}; 
            char ch[] = new char[28];         
            filterReader.skip(8); 
            if(filterReader.ready()) 
            { 
                filterReader.read(ch); 
                for (int i = 0; i < 8; i++)  
                { 
                    System.out.print(ch[i]); 
                } 
                System.out.print("\n");        

                filterReader.reset(); 
                for (int i = 0; i <7; i++) 
                { 
                    System.out.print((char)filterReader.read()); 
                } 
            } 
            filterReader.close(); 
        }
        catch(Exception e)
        {
            System.out.println("Error: "+e.toString());
        }
    }
}

学习

欢迎

结论

在本教程中,我们学习了 ready()方法,该方法用于检查该流是否准备好被读取。这是一个非静态方法,只能用类对象访问,如果我们试图用类名访问这个方法,那么我们会得到一个错误。