遞增寫入檔案
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。