📅  最后修改于: 2023-12-03 15:01:34.948000             🧑  作者: Mango
ByteArrayOutputStream
是 Java 中的一个类,属于 java.io
包。它是一个字节数组输出流,用于将数据写入内存缓冲区。可以通过将它的实例传递给某些方法来捕获内存缓冲区中的数据。
ByteArrayOutputStream
有两个构造函数:
public ByteArrayOutputStream()
public ByteArrayOutputStream(int size)
第一个无参构造函数创建一个 ByteArrayOutputStream
,默认大小是 32 字节。当写入数据时输出流的缓冲区会自动增长,但是每次增长都会消耗一定的性能,因此可以考虑使用第二个构造函数来指定缓冲区初始大小。
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ByteArrayOutputSteamDemo {
public static void main(String[] args) throws IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
String msg = "Hello, World!";
byte[] bytes = msg.getBytes();
outputStream.write(bytes);
String result = outputStream.toString();
System.out.println("Output Stream Data : " + result);
outputStream.close();
}
}
运行后的输出结果
Output Stream Data : Hello, World!
在上面的示例中,我们创建了一个 ByteArrayOutputStream
的实例,并且用 write
方法向其写入字符串 "Hello, World!",由于 ByteArrayOutputStream
是字节数组输出流,因此我们需要将字符串转换为字节数组才能写入。
调用 toString
方法将缓冲区中的字节序列转换为字符串并打印输出。
最后,调用 close
方法关闭字节输出流。
ByteArrayOutputStream
的主要作用是提供一个可以在内存中缓存数据的输出流,适用于需要将数据写入内存而不是文件或网络的场景。在实际应用中,ByteArrayOutputStream
可以与 InputStream
和 OutputStream
相互配合使用,完成各种数据转换和处理任务。