Java Java.io.InputStreamReader.ready() 方法

  • 描述

    java.io.InputStreamReader.ready()方法告知此流是否已准备好被读取。
  • 声明

    以下是java.io.InputStreamReader.ready()方法的声明-
     public boolean ready()
  • 参数

    不适用
  • 返回值

    如果保证下一次读取不会阻塞输入,则该方法返回true,否则返回false。
  • 异常

    IOException如果发生I / O错误。
  • 例子

    以下示例显示java.io.InputStreamReader.ready()方法的用法。
     
    package com.jc2182; 
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class InputStreamReaderDemo {
       public static void main(String[] args) throws IOException {
          FileInputStream fis = null;
          InputStreamReader isr = null;
          boolean bool = false;
          int i;
          char c;
          
          try {
             // new input stream reader is created 
             fis = new FileInputStream("C:/test.txt");
             isr = new InputStreamReader(fis);
             
             // reads into the char buffer
             while((i = isr.read())!=-1) {
             
                // converts int to char
                c = (char)i;
                
                // prints the character
                System.out.println("Character read: "+c);
                
                // true if the next read is guaranteed
                bool = isr.ready();
                
                // prints
                System.out.println("Ready to read: "+bool);
             }
             
          } catch (Exception e) {
             // print error
             e.printStackTrace();
          } finally {
             // closes the stream and releases resources associated
             if(fis!=null)
                fis.close();
             if(isr!=null)
                isr.close();
          }   
       }
    }
    
    假设我们有一个文本文件c:/test.txt ,其内容如下。该文件将用作示例程序的输入-
     ABCDE
    让我们编译并运行以上程序,这将产生以下结果-
     
    Character read: A
    Ready to read: true
    Character read: B
    Ready to read: true
    Character read: C
    Ready to read: true
    Character read: D
    Ready to read: true
    Character read: E
    Ready to read: false