Java InputStreamReader ready()方法

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

1 语法

public boolean ready()

2 参数

3 返回值

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

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.io.InputStreamReader.ready()方法的例子
 */
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class Demo {
    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("d:/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();
        }
    }
}

假设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

热门文章

优秀文章