Node.jsファイルシステムモジュール


ファイルサーバーとしてのNode.js

Node.jsファイルシステムモジュールを使用すると、コンピューター上のファイルシステムを操作できます。

ファイルシステムモジュールを含めるには、次の require()方法を使用します。

var fs = require('fs');

ファイルシステムモジュールの一般的な使用法:

  • ファイルを読む
  • ファイルを作成する
  • ファイルを更新する
  • ファイルを削除する
  • ファイルの名前を変更する

ファイルを読む

このfs.readFile()メソッドは、コンピューター上のファイルを読み取るために使用されます。

次のHTMLファイル(Node.jsと同じフォルダーにあります)があるとします。

demofile1.html

<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>

HTMLファイルを読み取るNode.jsファイルを作成し、コンテンツを返します。

var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
  fs.readFile('demofile1.html', function(err, data) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    return res.end();
  });
}).listen(8080);

上記のコードを「demo_readfile.js」というファイルに保存し、ファイルを開始します。

demo_readfile.jsを開始します:

C:\Users\Your Name>node demo_readfile.js

コンピューターで同じ手順を実行した場合、例と同じ結果が表示されます:http:// localhost:8080



ファイルの作成

ファイルシステムモジュールには、新しいファイルを作成するためのメソッドがあります。

  • fs.appendFile()
  • fs.open()
  • fs.writeFile()

このfs.appendFile()メソッドは、指定されたコンテンツをファイルに追加します。ファイルが存在しない場合、ファイルは次のように作成されます。

appendFile()メソッドを使用して新しいファイルを作成します。

var fs = require('fs');

fs.appendFile('mynewfile1.txt', 'Hello content!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});

このfs.open()メソッドは2番目の引数として「フラグ」を取ります。フラグが「書き込み」の「w」の場合、指定されたファイルが書き込み用に開かれます。ファイルが存在しない場合は、空のファイルが作成されます。

open()メソッドを使用して、新しい空のファイルを作成します。

var fs = require('fs');

fs.open('mynewfile2.txt', 'w', function (err, file) {
  if (err) throw err;
  console.log('Saved!');
});

このfs.writeFile()メソッドは、指定されたファイルとコンテンツが存在する場合はそれを置き換えます。ファイルが存在しない場合は、指定されたコンテンツを含む新しいファイルが作成されます。

writeFile()メソッドを使用して新しいファイルを作成します。

var fs = require('fs');

fs.writeFile('mynewfile3.txt', 'Hello content!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});

ファイルの更新

ファイルシステムモジュールには、ファイルを更新するためのメソッドがあります。

  • fs.appendFile()
  • fs.writeFile()

このfs.appendFile()メソッドは、指定されたファイルの最後に指定されたコンテンツを追加します。

「これは私のテキストです」を追加します。ファイル「mynewfile1.txt」の最後まで:

var fs = require('fs');

fs.appendFile('mynewfile1.txt', ' This is my text.', function (err) {
  if (err) throw err;
  console.log('Updated!');
});

このfs.writeFile()メソッドは、指定されたファイルとコンテンツを置き換えます。

ファイル「mynewfile3.txt」の内容を置き換えます。

var fs = require('fs');

fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
  if (err) throw err;
  console.log('Replaced!');
});

ファイルを削除する

ファイルシステムモジュールでファイルを削除するには、このfs.unlink() メソッドを使用します。

このfs.unlink()メソッドは、指定されたファイルを削除します。

「mynewfile2.txt」を削除します。

var fs = require('fs');

fs.unlink('mynewfile2.txt', function (err) {
  if (err) throw err;
  console.log('File deleted!');
});

ファイルの名前を変更する

ファイルシステムモジュールでファイルの名前を変更するには、このfs.rename() メソッドを使用します。

このfs.rename()メソッドは、指定されたファイルの名前を変更します。

「mynewfile1.txt」の名前を「myrenamedfile.txt」に変更します。

var fs = require('fs');

fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
  if (err) throw err;
  console.log('File Renamed!');
});

ファイルのアップロード

Node.jsを使用してファイルをコンピューターにアップロードすることもできます。

Node.jsのファイルのアップロードの章でその方法をお読みください