📜  Java ByteArrayOutputStream类(1)

📅  最后修改于: 2023-12-03 15:01:28.952000             🧑  作者: Mango

Java ByteArrayOutputStream类

Java中的ByteArrayOutputStream类是一个实现了输出流的缓冲区的类。它可以将写入流的数据保存到缓冲区中,在需要的时候将缓冲区中的数据输出到一个字节数组中。

构造方法

ByteArrayOutputStream类有两个主要的构造方法,如下所示:

// 创建一个新的byte数组输出流,其缓冲区容量为32字节,不自动刷新。
public ByteArrayOutputStream()

// 创建一个新的byte数组输出流,其缓冲区容量为size字节,不自动刷新。
public ByteArrayOutputStream(int size)
常用方法

ByteArrayOutputStream类有以下几个常用的方法:

write(int b)

写入一个字节。

public synchronized void write(int b)
write(byte[] b, int off, int len)

将byte数组的一部分写入输出流中。

public synchronized void write(byte[] b, int off, int len)
toByteArray()

将缓冲区的内容以Byte数组的形式返回。

public synchronized byte[] toByteArray()
toString()

将缓冲区的内容以字符串的形式返回。

public synchronized String toString()
reset()

将缓冲区重置为空。

public synchronized void reset()
示例

下面是一个简单的示例,展示了如何使用ByteArrayOutputStream类:

import java.io.*;

public class Example {
  public static void main(String[] args) {
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    outputStream.write("Hello, World!".getBytes());
    byte[] byteArray = outputStream.toByteArray();
    String str = outputStream.toString();
    System.out.println("Byte Array: " + new String(byteArray));
    System.out.println("String: " + str);
  }
}

这个程序将"Hello, World!"写入一个ByteArrayOutputStream对象中,并将该对象转换为一个字节数组和一个字符串,然后将它们打印到控制台上。

输出:

Byte Array: Hello, World!
String: Hello, World!
总结

在Java中,如果你需要将数据写入一个字节数组中,使用ByteArrayOutputStream类是一个非常方便和灵活的方式。这个类提供了许多有用的方法,例如toByteArray()和toString(),使得你可以很容易地获取缓冲区中的数据。