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