void close int available mark(int readAheadLimit) 描述 java.io.ByteArrayInputStream.close() 方法释放与流相关的所有系统资源。可以在close()调用之后调用此类中的方法,而不会生成I / O错误。 声明 以下是 java.io.ByteArrayInputStream.close() 方法的声明 public void close() 参数 NA 返回值 此方法不返回任何值。 异常 IOException − 如果发生I / O错误 实例 以下示例显示了 java.io.ByteArrayInputStream.close() 方法的用法。 package com.tutorialspoint; 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); // close invoked before read() and available() invocations bais.close(); 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 int available mark(int readAheadLimit)