ノード JS fs.readFileSync() メソッド

fs.readFileSync() メソッド これは、ファイルを読み取り、その内容を返すために使用される fs モジュールの組み込みアプリケーション プログラミング インターフェイスです。 fs.readFile() メソッドでは、ノンブロッキングの非同期方法でファイルを読み取ることができますが、 fs.readFileSync() メソッドでは、ファイルを同期的に読み取ることができます。つまり、node.js に他の並列プロセスをブロックするように指示しています。そして現在のファイルの読み込み処理を行います。つまり、 fs.readFileSync() メソッドが呼び出されると、元のノード プログラムは実行を停止します。

構文:

fs.readFileSync( path, options ) 

パラメーター:

  • パス: テキスト ファイルの相対パスを取得します。パスは URL タイプにすることができます。ファイルはファイル記述子であることもあります。両方のファイルが同じフォルダーにある場合は、ファイル名を引用符で囲んで指定します。
  • オプション: これは、エンコーディングとフラグを含むオプションのパラメーターであり、エンコーディングにはデータ仕様が含まれます。デフォルト値は null で、生のバッファを返し、フラグにはファイル内の操作の指示が含まれます。デフォルト値は「r」です。

戻り値: このメソッドはファイルの内容を返します。

例 1: これは、input.txt ファイルに保存されているテキスト データです。

JavaScript




// Node.js program to demonstrate the> // fs.readFileSync() method> // Include fs module> const fs = require(> 'fs'> );> // Calling the readFileSync() method> // to read 'input.txt' file> const data = fs.readFileSync(> './input.txt'> ,> > { encoding:> 'utf8'> , flag:> 'r'> });> // Display the file data> console.log(data);>

出力:

This is some text data which is stored in input.txt file. 

さて、問題はこれがどうなのかということです fs.readFileSync() メソッドは fs.readFile() メソッドとは異なります。 fs.readFileSync() メソッドと fs.readFile() メソッドをいつ使用するかを確認できる例。
2 つの入力ファイルがあるとします。 入力1.txt そして 入力2.txt 両方のファイルは同じフォルダーに保存されます。

例 2:

  • (1) これは、input1.txt ファイルに保存されているテキスト データです。
  • (2) これは、input2.txt ファイルに保存されているテキスト データです。

JavaScript




// Node.js program to demonstrate the> // fs.readFileSync() method> // Include fs module> const fs = require(> 'fs'> );> // Calling the fs.readFile() method> // for reading file 'input1.txt'> fs.readFile(> './input1.txt'> ,> > { encoding:> 'utf8'> , flag:> 'r'> },> > function> (err, data) {> > if> (err)> > console.log(err);> > else> > console.log(data);> > });> // Calling the fs.readFileSync() method> // for reading file 'input2.txt'> const data = fs.readFileSync(> './input2.txt'> ,> > { encoding:> 'utf8'> , flag:> 'r'> });> // Display data> console.log(data);>

出力:

(1) This is some text data which is stored in input1.txt file. (2) This is some text data which is stored in input2.txt file. 

観察: Node.js でのファイル読み取りの順序は、`fs.readFile()` の非同期の性質と `fs.readFileSync()` の同期の性質によって影響されます。イベント ループは実行順序を決定し、`fs.readFileSync()` を使用すると並列プロセスがブロックされ、観測されたファイルの読み取り順序に影響を与える可能性があります。