Java Java.io.BufferedInputStream.available() 方法

  • 描述

    java.io.BufferedInputStream.available()方法返回要从输入流读取的剩余字节数,而不会因对该输入流的方法的下一次调用而阻塞。
  • 声明

    以下是java.io.BufferedInputStream.available()方法的声明。
     public int available()
  • 返回值

    此方法返回从该输入流读取的剩余number of bytes
  • 异常

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

    以下示例显示java.io.BufferedInputStream.available()方法的用法。
     package com.jc2182;
    
    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    public class BufferedInputStreamDemo {
       public static void main(String[] args) throws Exception {
          BufferedInputStream bis = null;
    
          try {
             // open input stream test.txt for reading purpose.
             inStream = new FileInputStream("c:/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();
          }
       }
    }
    假设我们有一个文本文件c:/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