Java ByteArrayOutputStream

时间:2020-01-09 10:36:01  来源:igfitidea点击:

Java IO API的Java ByteArrayOutputStream类Java.io.ByteArrayOutputStream使我们可以捕获写入字节流中的流的数据。我们将数据写入" ByteArrayOutputStream",完成后调用其" toByteArray()"方法以获取字节数组中的所有写入数据。

在具有将其数据输出到OutputStream的组件但需要将数据写为字节数组的组件的情况下,Java ByteArrayOutputStream可能会派上用场。

ByteArrayOutputStream示例

这是一个简单的" ByteArrayOutputStream"示例:

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

//write data to byteArrayOutputStream

byte[] bytes = byteArrayOutputStream.toByteArray();

创建一个ByteArrayOutputStream

要使用Java ByteArrayOutputStream,必须首先创建它的一个实例。这是如何创建ByteArrayOutputStream的实例的方法:

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

将字节写入ByteArrayOutputStream

由于Java的ByteArrayOutputStream类是Java OutputStream的子类,因此可以使用与OutputStream相同的写入方法向其写入字节:

  • write(int byteToWrite)
  • write(byte [] bytesToWrite,int偏移量,int长度)

Java OutputStream教程,提供有关如何将字节写入OutputStream的更多信息。

toByteArray()

一旦完成对ByteArrayOutputStream的写入,就可以使用ByteArrayOutputStream totoByteArray()方法获取所有写为Java字节数组的字节。这是一个例子:

byte[] bytes = byteArrayOutputStream.toByteArray();

关于close()的说明

作为OutputStream的子类,ByteArrayOutputStream也具有close()方法。但是调用close()方法对ByteArrayOutputStream没有影响。