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

📅  最后修改于: 2022-05-13 01:55:38.861000             🧑  作者: Mango

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

Java中Reader类的ready()方法用于检查这个Reader 是否准备好被读取。它返回一个布尔值,说明阅读器是否准备好。

句法:

public void ready()

参数:此方法不接受任何参数

返回值:此方法返回一个布尔值,该值指示此 Reader 是否已准备好读取。如果准备好,则返回 true。否则返回false。

异常:如果输入输出时发生错误,此方法将抛出IOException

下面的方法说明了 ready() 方法的工作:

方案一:

// Java program to demonstrate
// Reader ready() method
  
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        try {
  
            String str = "GeeksForGeeks";
  
            // Create a Reader instance
            Reader reader
                = new StringReader(str);
  
            // Check if the Reader is
            // ready to be read using ready()
            System.out.println("Is Reader ready "
                               + "to be read: "
                               + reader.ready());
  
            // Get the character
            // to be read from the stream
            int ch;
  
            // Read the first 5 characters
            // to this reader using read() method
            // This will put the str in the stream
            // till it is read by the reader
            for (int i = 0; i < 5; i++) {
                ch = reader.read();
                System.out.println("\nInteger value "
                                   + "of character read: "
                                   + ch);
                System.out.println("Actual "
                                   + "character read: "
                                   + (char)ch);
            }
  
            reader.close();
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
输出:
Is Reader ready to be read: true

Integer value of character read: 71
Actual character read: G

Integer value of character read: 101
Actual character read: e

Integer value of character read: 101
Actual character read: e

Integer value of character read: 107
Actual character read: k

Integer value of character read: 115
Actual character read: s

方案二:

// Java program to demonstrate
// Reader ready() method
  
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        try {
            String str = "GeeksForGeeks";
  
            // Create a Reader instance
            Reader reader
                = new StringReader(str);
  
            reader.close();
  
            // Check if the Reader is
            // ready to be read using ready()
            System.out.println("Is Reader ready "
                               + "to be read: "
                               + reader.ready());
  
            // Get the character
            // to be read from the stream
            int ch;
  
            // Read the first character
            // to this reader using read() method
            // This will put the str in the stream
            // till it is read by the reader
            ch = reader.read();
            System.out.println("\nInteger value "
                               + "of character read: "
                               + ch);
            System.out.println("Actual "
                               + "character read: "
                               + (char)ch);
  
            reader.close();
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
输出:
java.io.IOException: Stream closed

参考: https://docs.oracle.com/javase/9/docs/api/ Java/io/Reader.html#ready–