📅  最后修改于: 2023-12-03 14:42:20.518000             🧑  作者: Mango
java.io.BufferedOutputStream
类提供了缓冲输出流。它接受一个输出流作为参数,并将其包装在一个缓冲区中,以提高I/O性能。缓冲输出流会最小化I/O操作次数,减少对底层系统的负载,同时提高了应用程序的性能。
java.io.BufferedOutputStream
类提供了以下两个构造器:
BufferedOutputStream(OutputStream out)
:创建一个新的缓冲输出流,该流中使用默认缓冲区大小 8192 字节,并将其包装在指定的输出流中。BufferedOutputStream(OutputStream out, int size)
:创建一个新的缓冲输出流,该流中使用指定的缓冲区大小,并将其包装在指定的输出流中。java.io.BufferedOutputStream
类提供了以下常用方法:
void write(int b)
:将指定的字节写入此缓冲输出流。void write(byte[] b)
:将 b.length 个字节从指定的 byte 数组写入此缓冲输出流。void write(byte[] b, int off, int len)
:将 len 个字节从指定的 byte 数组开始,从偏移量 off 处写入此缓冲输出流。void flush()
:将缓冲输出流的缓冲区内容强制写出到底层输出流中。void close()
:关闭此缓冲输出流,并释放与此流相关联的所有系统资源。下面的示例演示了如何使用 BufferedOutputStream
类来写入一个字符串到文件中:
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class BufferedOutputStreamDemo {
public static void main(String[] args) {
String fileName = "output.txt";
String content = "Hello, Java BufferedOutputStream!";
try (BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(fileName))) {
byte[] bytes = content.getBytes();
bos.write(bytes);
bos.flush();
System.out.println("Success!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的示例中,我们将字符串 "Hello, Java BufferedOutputStream!" 写入到 output.txt 文件中。首先,我们将字符串转换为 byte
数组,然后使用 BufferedOutputStream
类的 write
方法将字节数组写入文件中。最后,使用 flush
方法强制将缓冲区的内容写出到文件中,并打印 "Success!" 表示写入成功。