Java - ByteArrayOutputStream close() 方法



描述

调用Java ByteArrayOutputStream close() 方法没有任何效果。在调用 close() 方法之后,可以继续调用此类中的方法,而不会产生 I/O 错误。

声明

以下是java.io.ByteArrayOutputStream.close() 方法的声明:

public void close()

参数

返回值

该方法不返回任何值。

异常

示例 1

以下示例演示了 Java ByteArrayOutputStream close() 方法的用法。我们创建了一个名为 buf 的 byte[] 变量,并初始化了一些字节。我们创建了一个 ByteArrayOutputStream 引用,然后创建了一个新的 ByteArrayOutputStream() 对象。我们在调用 write() 方法之前使用了 close() 方法来关闭流。然后,我们使用其 write() 方法将字节数组写入 ByteArrayOutputStream 对象,并打印其字符串版本。

package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ByteArrayOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      byte[] buf = {65, 66, 67, 68, 69};
      ByteArrayOutputStream baos = null;
      
      try {
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
         
         // close is invoked before baos.
         baos.close();
         
         // writing byte array to the output stream
         baos.write(buf);
         
         // print as string
         System.out.print(baos.toString());
         
      } catch(Exception e) {
         // if I/O error occurs
         e.printStackTrace();
      } finally {
         if(baos!=null)
            baos.close();
      }   
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

ABCDE

示例 2

以下示例演示了 Java ByteArrayOutputStream close() 方法的用法。我们创建了一个名为 buf 的 byte[] 变量,并初始化了一些字节。我们创建了一个 ByteArrayOutputStream 引用,然后创建了一个新的 ByteArrayOutputStream() 对象。然后,我们使用其 write() 方法将字节数组写入 ByteArrayOutputStream 对象,并打印其字符串版本。在 finally 代码块中,我们使用 close() 方法关闭 ByteArrayOutputStream 对象。

package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ByteArrayOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      byte[] buf = {65, 66, 67, 68, 69};
      ByteArrayOutputStream baos = null;
      
      try {
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
         
         // writing byte array to the output stream
         baos.write(buf);
         
         // print as string
         System.out.print(baos.toString());
         
      } catch(Exception e) {
         // if I/O error occurs
         e.printStackTrace();
      } finally {
         if(baos!=null)
            baos.close();
      }   
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

ABCDE
java_bytearrayoutputstream.htm
广告