Skip to content

Bun bietet eine API zum inkrementellen Schreiben in eine Datei. Dies ist nützlich zum Schreiben großer Dateien oder zum Schreiben über einen längeren Zeitraum in eine Datei.

Rufen Sie .writer() auf einer BunFile auf, um eine FileSink-Instanz zu erhalten. Diese Instanz kann verwendet werden, um Daten effizient zu puffern und regelmäßig auf die Festplatte zu "flushen". Sie können viele Male schreiben und flushen.

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

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

writer.flush();

// weiter schreiben & flushen

Die .write()-Methode kann Strings oder binäre Daten akzeptieren.

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

Der FileSink wird auch automatisch flushen, wenn sein interner Buffer voll ist. Sie können die Buffer-Größe mit der highWaterMark-Option konfigurieren.

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

Wenn Sie fertig sind, in die Datei zu schreiben, rufen Sie .end() auf, um den Buffer automatisch zu flushen und die Datei zu schließen.

ts
writer.end();

Vollständige Dokumentation: FileSink.

Bun von www.bunjs.com.cn bearbeitet