執行環境套件管理器打包器測試執行器程式碼檢查格式化指南參考部落格意見回饋

遞增寫入檔案

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。