Bun.write()の動作確認:コードを動かして挙動を理解

に公開

【Bun入門】Bun.write()は上書き?追記?実行して確かめてみた

Bun.write()はテキストをファイルに書き出す関数です。基本的な書き方は以下のとおりです。

Bun.write("output.txt", "Hello World");

このコードを実行すると、プロジェクト直下に output.txt というファイルが作成され、その中に Hello World が書き込まれます。

では、2回目に実行したときはどうなるのか?

気になるのは、2回目に実行した場合「既存のファイルに追記されるのか、それとも上書きされるのか?」という点です。公式ドキュメントには明示的に書かれていないこともあるので、実際に確かめてみるのが一番です。

検証コード

以下のように、現在時刻をファイルに書き出すコードを用意しました。

const now = new Date();
Bun.write("output.txt", now.toString());

このコードを何度か実行して、output.txt の中身がどうなるかを確認してみます。

実行結果

実行するたびに、output.txt の中身はこのように変化しました。

Sat May 03 2025 17:30:41 GMT+0900 (Japan Standard Time)

再実行すると:

Sat May 03 2025 17:31:08 GMT+0900 (Japan Standard Time)

つまり、ファイルの内容は毎回「上書き」されていることがわかります。

結論

Bun.write(path, data) を使った場合、既にファイルが存在していても、その内容は上書きされます。追記ではありません。

参考

西山雄大『TECHNICAL MASTER はじめてのTypeScript エンジニア入門編』(秀和システム)
https://bun.sh/docs/api/file-io#writing-files-bun-write

Discussion