Node.jsでファイルを読み込む:fs/promisesモジュールを使う

2024-04-02

Node.jsでファイルを読み込む方法

fsモジュールを使う

Node.jsには、ファイル操作用の標準モジュールであるfsモジュールが用意されています。このモジュールを使って、ファイルを読み込むことができます。

同期処理

fsモジュールには、ファイルを読み込むための同期処理と非同期処理の両方のメソッドが用意されています。同期処理は、ファイルを読み込む処理が完了するまで他の処理を待機します。

const fs = require('fs');

const data = fs.readFileSync('file.txt', 'utf-8');

console.log(data);

このコードは、file.txtというファイルを同期的に読み込み、その内容をdata変数に格納します。'utf-8'という文字コードを指定することで、ファイルの内容をUTF-8文字列として読み込むことができます。

非同期処理は、ファイルを読み込む処理を別スレッドで実行し、他の処理を待機せずに実行できます。

const fs = require('fs');

fs.readFile('file.txt', 'utf-8', (err, data) => {
  if (err) {
    console.error(err);
    return;
  }

  console.log(data);
});

このコードは、file.txtというファイルを非同期的に読み込み、その内容をdata変数に格納します。err変数には、エラーが発生した場合はエラーオブジェクトが格納されます。

fs/promisesモジュールを使う

Node.js v10.0.0以降では、fs/promisesモジュールが提供されています。このモジュールは、fsモジュールの非同期処理のメソッドをPromise化したものになっています。

const fs = require('fs/promises');

const data = await fs.readFile('file.txt', 'utf-8');

console.log(data);

このコードは、fs/promisesモジュールを使って、file.txtというファイルを非同期的に読み込み、その内容をdata変数に格納します。awaitキーワードを使って、Promiseの解決を待機しています。

サードパーティ製のモジュールを使う

Node.jsでファイルを読み込むには、いくつかの方法があります。それぞれの特徴を理解して、目的に合った方法を選びましょう。




これらのサンプルコードは、Node.jsの標準モジュールであるfsモジュールを使ってファイルを読み込む方法を解説しています。

// 同期処理
const fs = require('fs');

const data = fs.readFileSync('file.txt', 'utf-8');

console.log(data);

このコードは、file.txtというファイルを同期的に読み込み、その内容をdata変数に格納します。

// 非同期処理
const fs = require('fs');

fs.readFile('file.txt', 'utf-8', (err, data) => {
  if (err) {
    console.error(err);
    return;
  }

  console.log(data);
});

また、fs/promisesモジュールを使うこともできます。

// Promises
const fs = require('fs/promises');

const data = await fs.readFile('file.txt', 'utf-8');

console.log(data);

ご自身の目的に合わせて、適切な方法を選んでください。




Node.jsでファイルを読み込むその他の方法

readlineモジュールは、ファイルの内容を逐次的に読み込むためのモジュールです。ファイルの内容が大きい場合や、逐次的に処理したい場合に便利です。

const readline = require('readline');

const rl = readline.createInterface({
  input: fs.createReadStream('file.txt'),
  output: process.stdout,
});

rl.on('line', (line) => {
  console.log(line);
});

streamモジュールは、データストリームを操作するためのモジュールです。ファイルの内容をストリームとして読み込むことで、メモリ使用量を抑えることができます。

const fs = require('fs');
const stream = require('stream');

const readableStream = fs.createReadStream('file.txt');

readableStream.on('data', (chunk) => {
  console.log(chunk.toString());
});

これらのモジュールは、それぞれ異なる機能を提供しているので、目的に合ったモジュールを選びましょう。


node.js


Node.jsプログラミング:ファイル間で変数を共有するための包括的なガイド

グローバル変数最も簡単な方法は、グローバル変数を使用することです。グローバル変数は、アプリケーション全体でどこからでもアクセスできる変数です。利点:シンプルで理解しやすいコードがわかりにくくなり、メンテナンスが困難になる可能性がある意図せぬ名前の衝突が発生する可能性がある...


Node.jsでx-forwarded-forヘッダーを使ってIPアドレスを取得する方法

req オブジェクトには、ユーザーのIPアドレスを含むいくつかのプロパティがあります。 最も簡単な方法は、req. ip プロパティを使うことです。この方法は非常に簡単ですが、いくつかの制限があります。プロキシサーバーの後ろにいるユーザーの場合、req...


Node.jsでフォルダを作成・使用する基本

新しいフォルダを作成するには、fs. mkdir() 関数を使用します。この関数は、作成するフォルダのパスと、オプションでアクセス権を指定する必要があります。上記のコードは、my-new-folder という名前の新しいフォルダを作成します。recursive: true オプションを指定すると、親フォルダが存在しない場合は自動的に作成されます。...


Node.jsでフォルダを再帰的にコピーする:ベストプラクティスとトラブルシューティング

fs モジュールとコールバックを使用するNode. js の標準モジュールである fs を使用して、フォルダーを再帰的にコピーすることができます。ただし、この方法は非同期処理のため、コールバックを使用して処理の完了を知らせる必要があります。...


Node.jsでGitHubリポジトリを依存関係としてインストール:完全ガイド

このガイドでは、Node. jsプロジェクトで GitHub リポジトリを依存関係としてインストールする方法を説明します。手順:package. json ファイルに依存関係を追加する: 保存します。package. json ファイルに依存関係を追加する:...


SQL SQL SQL SQL Amazon で見る



【保存版】Node.jsファイル操作:読み込み、書き込み、削除完全ガイド

fs. readFileSyncは、ファイルを同期的に読み込む関数です。同期処理なので、関数が終了するまで他の処理は実行されません。このコードは、text. txtファイルをutf8エンコーディングで読み込み、その内容をコンソールに出力します。