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

  • 描述

    java.io.ByteArrayInputStream.available()方法返回要从此输入流读取的剩余字节数。
  • 声明

    以下是java.io.ByteArrayInputStream.available()方法的声明-
     public int available()
  • 参数

    不适用
  • 返回值

    该值返回要从输入流读取的字节数。
  • 异常

    不适用
  • 例子

    以下示例显示java.io.ByteArrayInputStream.available()方法的用法。
     
    package com.jc2182;
    import java.io.ByteArrayInputStream;
    import java.io.IOException;
    
    public class ByteArrayInputStreamDemo {
       public static void main(String[] args) throws IOException {
          byte[] buf = {65, 66, 67, 68, 69};
          ByteArrayInputStream bais = null;
          
          try {
             // create new byte array input stream
             bais = new ByteArrayInputStream(buf);
             
             int count =0;
             
             // read till the end of the stream
             while((count = bais.available())>0) {
                
                // convert byte to character
                char c = (char)bais.read();
                
                // print number of bytes available
                System.out.print("available byte(s) : "+ count);
                
                // print characters read form the byte array
                System.out.println(" & byte read : "+c);
             }
             
          } catch(Exception e) {
             // if I/O error occurs
             e.printStackTrace();
          } finally {
             if(bais!=null)
                bais.close();
          }
       }
    }
    
    让我们编译并运行以上程序,这将产生以下结果-
     
    available byte(s) : 5 & byte read : A
    available byte(s) : 4 & byte read : B
    available byte(s) : 3 & byte read : C
    available byte(s) : 2 & byte read : D
    available byte(s) : 1 & byte read : E