Java FilterReader.ready()
方法
原文:https://www.studytonight.com/java-file-io/filterreader-ready-method-in-java
在本教程中,我们将学习 Java 中 FilterReader 类的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()方法,该方法用于检查该流是否准备好被读取。这是一个非静态方法,只能用类对象访问,如果我们试图用类名访问这个方法,那么我们会得到一个错误。