📜  Java.io.BufferedOutputStream类(1)

📅  最后修改于: 2023-12-03 14:42:20.518000             🧑  作者: Mango

Java.io.BufferedOutputStream类

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!" 表示写入成功。