Nodeを使用したファイルの書き込み

Nodeを使用してファイルを書き込む方法

Node.jsでファイルに書き込む最も簡単な方法は、fs.writeFile()API。

例:

const fs = require('fs')

const content = ‘Some content!’

fs.writeFile(’/Users/flavio/test.txt’, content, (err) => { if (err) { console.error(err) return } //file written successfully })

または、同期バージョンを使用することもできますfs.writeFileSync()

const fs = require('fs')

const content = ‘Some content!’

try { const data = fs.writeFileSync(’/Users/flavio/test.txt’, content) //file written successfully } catch (err) { console.error(err) }

デフォルトでは、このAPIはファイルの内容を置き換えますすでに存在する場合。

フラグを指定することにより、デフォルトを変更できます。

fs.writeFile('/Users/flavio/test.txt', content, { flag: 'a+' }, (err) => {})

使用する可能性のあるフラグは次のとおりです。

  • r+読み取りと書き込みのためにファイルを開く
  • w+読み取りと書き込みのためにファイルを開き、ストリームをファイルの先頭に配置します。ファイルが存在しない場合は作成されます
  • a書き込み用にファイルを開き、ストリームをファイルの最後に配置します。ファイルが存在しない場合は作成されます
  • a+読み取りと書き込みのためにファイルを開き、ストリームをファイルの最後に配置します。ファイルが存在しない場合は作成されます

(より多くのフラグを見つけることができますhttps://nodejs.org/api/fs.html#fs_file_system_flags

ファイルに追加

ファイルの最後にコンテンツを追加する便利な方法は次のとおりです。fs.appendFile()(そしてそのfs.appendFileSync()カウンターパート):

const content = 'Some content!'

fs.appendFile(‘file.log’, content, (err) => { if (err) { console.error(err) return } //done! })

ストリームの使用

これらのメソッドはすべて、コントロールをプログラムに戻す前に、コンテンツ全体をファイルに書き込みます(非同期バージョンでは、これはコールバックの実行を意味します)

この場合、より適切なオプションは、ストリームを使用してファイルコンテンツを書き込むことです。

私の無料ダウンロードNode.jsハンドブック


その他のノードチュートリアル: