📅  最后修改于: 2023-12-03 15:31:34.746000             🧑  作者: Mango
Java.io.ByteArrayOutputStream类是一个输出流,它将数据写入一个内存缓冲区。当缓冲区满时,其内容可以被转换为字节数组。它继承自OutputStream类并提供了许多方法来简化写入数据。
public ByteArrayOutputStream()
public ByteArrayOutputStream(int size)
public ByteArrayOutputStream()
:创建一个新的ByteArrayOutputStream,初始大小为32字节。public ByteArrayOutputStream(int size)
:创建一个具有指定大小的新的ByteArrayOutputStream。如果缓冲区已满,则自动增加大小。public void write(int b)
public synchronized void write(byte[] b, int off, int len)
public synchronized void writeTo(OutputStream out) throws IOException
public synchronized void reset()
public byte[] toByteArray()
public synchronized int size()
public synchronized String toString()
public void write(int b)
:将指定的字节写入此ByteArrayOutputStream。public synchronized void write(byte[] b, int off, int len)
:将指定字节数组的一部分写入此ByteArrayOutputStream。public synchronized void writeTo(OutputStream out)
:将此ByteArrayOutputStream的内容写入一个OutputStream。public synchronized void reset()
:重置此ByteArrayOutputStream以接收新的数据。public byte[] toByteArray()
:创建一个新分配的字节数组,其大小是此ByteArrayOutputStream的当前大小,并将缓冲区的当前内容复制到该数组中。public synchronized int size()
:返回此ByteArrayOutputStream的当前大小。public synchronized String toString()
:将ByteArrayOutputStream转换成一个字符串。import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ByteArrayOutputStreamDemo {
public static void main(String[] args) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
baos.write(65);
baos.write(66);
baos.write(67);
byte[] byteArray = baos.toByteArray();
for (byte b : byteArray) {
System.out.print((char) b);
}
}
}
输出结果为:ABC
以上代码演示了如何从ByteArrayOutputStream读取写入的数据并将其转换为字节数组。