Java BufferedInputStream available()方法

java.io.BufferedInputStream.available() 方法返回的字节数仍然为从输入流中可通过此输入流的方法的下一次调用阻挡读取。

1 语法

public int available()

2 参数

3 返回值

返回从该输入流读取的剩余字节数,而不会阻塞。

4 示例 

package com.yiidian;

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

public class Demo {
    public static void main(String[] args) throws Exception {
        BufferedInputStream bis = null;
        FileInputStream inStream = null;
        try {
            // open input stream test.txt for reading purpose.
            inStream = new FileInputStream("d:/test.txt");

            // input stream is converted to buffered input stream
            bis = new BufferedInputStream(inStream);

            // read until a single byte is available
            while( bis.available() > 0 ) {

                // get the number of bytes available
                Integer nBytes = bis.available();
                System.out.println("Available bytes = " + nBytes );

                // read next available character
                char ch =  (char)bis.read();

                // print the read character.
                System.out.println("The character read = " + ch );
            }
        } catch(Exception e) {
            e.printStackTrace();
        } finally {
            // releases any system resources associated with the stream
            if(inStream!=null)
                inStream.close();
            if(bis!=null)
                bis.close();
        }
    }
}

假设test.txt内容如下:

ABCDE

输出结果为:

Available bytes = 5
The character read = A
Available bytes = 4
The character read = B
Available bytes = 3
The character read = C
Available bytes = 2
The character read = D
Available bytes = 1
The character read = E

热门文章

优秀文章