递增写入文件
Bun 提供了用于向文件递增写入的 API。适用于大文件,或需要在较长时间内持续向文件写入数据的场景。
在 BunFile 上调用 .writer() 以获取 FileSink 实例。FileSink 会缓冲数据。调用 .flush() 将缓冲区写入磁盘。你可以多次写入和刷新。
TypeScript
const file = Bun.file("/path/to/file.txt");
const writer = file.writer();
writer.write("lorem");
writer.write("ipsum");
writer.write("dolor");
writer.flush();
// 继续写入和刷新
.write() 方法接受字符串或二进制数据。
TypeScript
writer.write("hello");
writer.write(Buffer.from("there"));
writer.write(new Uint8Array([0, 255, 128]));
writer.flush();
FileSink 还会在其内部缓冲区已满时自动刷新。
完成写入后,调用 .end() 刷新缓冲区并关闭文件。
TypeScript
writer.end();
完整文档:FileSink。