Bun

指南写入文件

使用 Bun 增量写入文件

Bun 提供了一个用于增量写入文件的 API。这对于写入大文件或在较长时间内写入文件很有用。

BunFile 上调用 .writer() 以检索 FileSink 实例。此实例可用于有效地缓冲数据并定期将其“刷新”到磁盘。您可以多次写入和刷新。

const file = Bun.file("/path/to/file.txt");
const writer = file.writer();

writer.write("lorem");
writer.write("ipsum");
writer.write("dolor");

writer.flush();

// continue writing & flushing

.write() 方法可以接受字符串或二进制数据。

w.write("hello");
w.write(Buffer.from("there"));
w.write(new Uint8Array([0, 255, 128]));
writer.flush();

FileSink 的内部缓冲区已满时,它还将自动刷新。您可以使用 highWaterMark 选项配置缓冲区大小。

const file = Bun.file("/path/to/file.txt");
const writer = file.writer({ highWaterMark: 1024 * 1024 }); // 1MB

当您完成对文件写入时,请调用 .end() 以自动刷新缓冲区并关闭文件。

writer.end();

完整文档:FileSink