fs.fsync

関数の概要

fs.fsyncは、Node.jsのファイルシステムモジュール(fsモジュール)に含まれる関数の一つです。この関数は、ファイルディスクリプタに対して同期的にファイルシステムのバッファをフラッシュし、ディスクにデータを書き込むことができます。主にファイルの書き込み操作後に使用され、データが確実にディスクに書き込まれたことを保証するために利用されます。

パラメータの説明

パラメータ 用途
fd integer ファイルディスクリプタ。fs.open()で開かれたファイルの識別子。

戻り値

fs.fsyncの戻り値はありません。処理が完了するまでブロックされ、処理が完了した後にコールバックが呼び出されます。

使用例

ファイルの書き込み後にfsyncを使用する例:


const fs = require('fs');
const fileDescriptor = fs.openSync('example.txt', 'w');
fs.writeSync(fileDescriptor, 'Hello, World!');
fs.fsyncSync(fileDescriptor);

非同期的にfsyncを使用する例:


const fs = require('fs');
const fileDescriptor = fs.openSync('example.txt', 'w');
fs.write(fileDescriptor, 'Hello, World!', (err) => {
  if (err) throw err;
  fs.fsync(fileDescriptor, (err) => {
    if (err) throw err;
    console.log('Data flushed to disk!');
  });
});

関連する関数

fs.fsyncとよく一緒に使用される関数:

  • fs.open(): ファイルを開くために使用
  • fs.write(): ファイルにデータを書き込むために使用

まとめ

fs.fsyncは、ファイルの書き込み後にデータをディスクに確実に書き込むための関数です。データの完全性を保証するために重要な役割を果たしますが、使用する際にはパフォーマンスの影響を考慮する必要があります。