Node.js ファイルシステム

Node.js のファイルシステムモジュール(fsモジュール)は、ファイルの読み取り、書き込み、削除、およびその他のファイルシステム操作を実行するための豊富なAPIを提供します。

fs モジュールは同期メソッドと非同期メソッドの両方をサポートしているため、開発者は具体的なニーズに応じて適切な方法を選択してファイル操作を処理できます。

fs モジュールをインポート

まず、fs モジュールをインポートする必要があります:

var fs = require("fs")

非同期と同期

Node.js ファイルシステム(fs モジュール)のメソッドにはすべて非同期と同期のバージョンがあります。例えば、ファイルの内容を読み取る関数には非同期の fs.readFile() と同期の fs.readFileSync() があります。

非同期メソッドの関数の最後のパラメータはコールバック関数で、コールバック関数の最初のパラメータにはエラー情報(error)が含まれます。

非同期メソッドの使用をお勧めします。同期に比べて、非同期メソッドは性能が高く、速度が速く、しかもブロックがありません。

例

example.txt ファイルを作成し、内容は次のとおりです:

サンプル官网地址:www.example.com
文件读取实例

file.js ファイルを作成し、コードは次のとおりです:

例

var fs = require("fs");

// 非同期読み取り
fs.readFile('input.txt', function (err, data) {
   if (err) {
       return console.error(err);
   }
   console.log("非同期読み取り: " + data.toString());
});

// 同期読み取り
var data = fs.readFileSync('example.txt');
console.log("同期読み取り: " + data.toString());

console.log("プログラムの実行が完了しました。");

上記のコードの実行結果は次のとおりです:

$ node file.js 
同步读取: サンプル官网地址:www.example.com
文件读取实例

程序执行完毕。
异步读取: サンプル官网地址:www.example.com
文件读取实例

ファイルへの書き込み

非同期でファイルに書き込み:

fs.writeFile('example.txt', 'Hello, World!', (err) => {
    if (err) {
        console.error('Error writing file:', err);
        return;
    }
    console.log('File written successfully');
});

同期でファイルに書き込み:

try {
    fs.writeFileSync('example.txt', 'Hello, World!');
    console.log('File written successfully');
} catch (err) {
    console.error('Error writing file:', err);
}

ファイルに内容を追加

非同期で内容を追加:

fs.appendFile('example.txt', '\nAppending some text', (err) => {
    if (err) {
        console.error('Error appending to file:', err);
        return;
    }
    console.log('Text appended successfully');
});

同期で内容を追加:

try {
    fs.appendFileSync('example.txt', '\nAppending some text');
    console.log('Text appended successfully');
} catch (err) {
    console.error('Error appending to file:', err);
}

ファイルの削除

非同期でファイルを削除:

fs.unlink('example.txt', (err) => {
    if (err) {
        console.error('Error deleting file:', err);
        return;
    }
    console.log('File deleted successfully');
});

同期でファイルを削除:

try {
    fs.unlinkSync('example.txt');
    console.log('File deleted successfully');
} catch (err) {
    console.error('Error deleting file:', err);
}

ディレクトリの作成

非同期でディレクトリを作成:

fs.mkdir('new_directory', (err) => {
    if (err) {
        console.error('Error creating directory:', err);
        return;
    }
    console.log('Directory created successfully');
});

同期でディレクトリを作成:

try {
    fs.mkdirSync('new_directory');
    console.log('Directory created successfully');
} catch (err) {
    console.error('Error creating directory:', err);
}

ディレクトリの内容を読み取り

非同期でディレクトリの内容を読み取り:

fs.readdir('new_directory', (err, files) => {
    if (err) {
        console.error('Error reading directory:', err);
        return;
    }
    console.log('Directory contents:', files);
});

同期でディレクトリの内容を読み取り:

try {
    const files = fs.readdirSync('new_directory');
    console.log('Directory contents:', files);
} catch (err) {
    console.error('Error reading directory:', err);
}

ファイルまたはディレクトリが存在するかどうかを確認

非同期で確認:

fs.access('example.txt', fs.constants.F_OK, (err) => {
    if (err) {
        console.log('File does not exist');
    } else {
        console.log('File exists');
    }
});

同期で確認:

try {
    fs.accessSync('example.txt', fs.constants.F_OK);
    console.log('File exists');
} catch (err) {
    console.log('File does not exist');
}

高度な使い方

1、ファイルストリーム

ファイルストリームは、大きなファイルを効率的に読み書きするために使用でき、ファイル全体を一度にメモリに読み込むことはありません。

ファイルストリームを読み取り:

const fs = require('fs');

const readableStream = fs.createReadStream('large_file.txt', 'utf8');

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

readableStream.on('end', () => {
    console.log('No more data.');
});

ファイルストリームを書き込み:

const fs = require('fs');

const writableStream = fs.createWriteStream('output.txt');

writableStream.write('Hello, ');
writableStream.write('World!\n');

writableStream.end();

writableStream.on('finish', () => {
    console.log('All writes are now complete.');
});

2、ファイルシステム統計情報

使用できますfs.stat 或 fs.lstatファイルまたはディレクトリの統計情報を取得します。

非同期で統計情報を取得:

fs.stat('example.txt', (err, stats) => {
    if (err) {
        console.error('Error getting stats:', err);
        return;
    }
    console.log('Is file?', stats.isFile());
    console.log('Is directory?', stats.isDirectory());
    console.log('Size:', stats.size);
});

同期で統計情報を取得:

try {
    const stats = fs.statSync('example.txt');
    console.log('Is file?', stats.isFile());
    console.log('Is directory?', stats.isDirectory());
    console.log('Size:', stats.size);
} catch (err) {
    console.error('Error getting stats:', err);
}

次に、Node.js ファイルシステムのメソッドについて具体的に見ていきましょう。


ファイルを開く

構文

以下は非同期モードでファイルを開くための構文です:

fs.open(path, flags[, mode], callback)

パラメータ

パラメータの説明は次のとおりです:

  • path- ファイルのパス。

  • flags- ファイルを開くときの動作。具体的な値は後述します。

  • mode- ファイルモード(権限)を設定します。ファイル作成時のデフォルト権限は 0666(読み取り可能、書き込み可能)です。

  • callback- コールバック関数。callback(err, fd) のような2つのパラメータを持ちます。

flags パラメータには以下の値を指定できます:

Flag説明
r読み取り専用モードでファイルを開きます。ファイルが存在する必要があります。ファイルが存在しない場合、例外がスローされます。
r+読み書きモードでファイルを開きます。ファイルが存在する必要があります。
rs同期方式で読み取り専用にファイルを開きます。ブロッキング操作ですが、一部のオペレーティングシステムではより良い安定性を提供する場合があります。
rs+同期方式で読み書きにファイルを開きます。ブロッキング操作ですが、一部のオペレーティングシステムではより良い安定性を提供する場合があります。
w書き込み専用モードでファイルを開きます。ファイルが存在しない場合は作成し、ファイルが存在する場合は切り詰めます。
wx'w' に似ていますが、パスが存在する場合は失敗します。
w+読み書きモードでファイルを開きます。ファイルが存在しない場合は作成し、ファイルが存在する場合は切り詰めます。
wx+'w+' に似ていますが、パスが存在する場合は失敗します。
a追記モードでファイルを開きます。ファイルが存在しない場合は作成します。
ax'a' に似ていますが、パスが存在する場合は失敗します。
a+読み取りと追記のモードでファイルを開きます。ファイルが存在しない場合は作成します。
ax+'a+' に似ていますが、パスが存在する場合は失敗します。

例

次に file.js ファイルを作成し、input.txt ファイルを読み書き用に開きます。コードは次のとおりです:

var fs = require("fs");

// 异步打开文件
console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
  console.log("文件打开成功!");     
});

上記のコードの実行結果は次のとおりです:

$ node file.js 
准备打开文件!
文件打开成功!

ファイル情報を取得

構文

以下は非同期モードでファイル情報を取得するための構文です:

fs.stat(path, callback)

パラメータ

パラメータの説明は次のとおりです:

  • path- ファイルパス。

  • callback- コールバック関数。 (err, stats) のような2つのパラメータを持ち、statsstats は fs.Stats オブジェクトです。

fs.stat(path) を実行すると、stats クラスのインスタンスがコールバック関数に返されます。stats クラスで提供されているメソッドを使用して、ファイルの関連属性を判断できます。例えば、ファイルかどうかを判断するには:

var fs = require('fs');

fs.stat('/Users/liuht/code/itbilu/demo/fs.js', function (err, stats) {
    console.log(stats.isFile());         //true
})

stats クラスのメソッドには次のものがあります:

メソッド説明
stats.isFile()ファイルの場合は true を返し、それ以外の場合は false を返します。
stats.isDirectory()ディレクトリの場合は true を返し、それ以外の場合は false を返します。
stats.isBlockDevice()ブロックデバイスの場合は true を返し、それ以外の場合は false を返します。
stats.isCharacterDevice()キャラクタデバイスの場合は true を返し、それ以外の場合は false を返します。
stats.isSymbolicLink()シンボリックリンクの場合は true を返し、それ以外の場合は false を返します。
stats.isFIFO()FIFO の場合は true を返し、それ以外の場合は false を返します。FIFO は UNIX における特別なタイプのコマンドパイプです。
stats.isSocket()Socket の場合は true を返し、それ以外の場合は false を返します。

例

次に file.js ファイルを作成します。コードは次のとおりです:

var fs = require("fs");

console.log("准备打开文件!");
fs.stat('input.txt', function (err, stats) {
   if (err) {
       return console.error(err);
   }
   console.log(stats);
   console.log("读取文件信息成功!");
   
   // 检测文件类型
   console.log("是否为文件(isFile) ? " + stats.isFile());
   console.log("是否为目录(isDirectory) ? " + stats.isDirectory());    
});

上記のコードの実行結果は次のとおりです:

$ node file.js 
准备打开文件!
{ dev: 16777220,
  mode: 33188,
  nlink: 1,
  uid: 501,
  gid: 20,
  rdev: 0,
  blksize: 4096,
  ino: 40333161,
  size: 61,
  blocks: 8,
  atime: Mon Sep 07 2015 17:43:55 GMT+0800 (CST),
  mtime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST),
  ctime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST) }
读取文件信息成功!
是否为文件(isFile) ? true
是否为目录(isDirectory) ? false

ファイルへの書き込み

構文

以下は非同期モードでファイルに書き込むための構文です:

fs.writeFile(file, data[, options], callback)

writeFile はファイルを直接開くとき、デフォルトでwモードになるため、ファイルが存在する場合、このメソッドが書き込む内容は古いファイルの内容を上書きします。

パラメータ

パラメータの説明は次のとおりです:

  • file- ファイル名またはファイル記述子。

  • data- ファイルに書き込むデータ。String(文字列) または Buffer(バッファ) オブジェクトにすることができます。

  • options- このパラメータはオブジェクトで、{encoding, mode, flag} を含みます。デフォルトのエンコーディングは utf8、モードは 0666、flag は 'w' です。

  • callback- コールバック関数。コールバック関数はエラー情報パラメータ(err)のみを含み、書き込み失敗時に返されます。

例

次に file.js ファイルを作成します。コードは次のとおりです:

var fs = require("fs");

console.log("准备写入文件");
fs.writeFile('input.txt', '我是通 过fs.writeFile 写入文件的内容',  function(err) {
   if (err) {
       return console.error(err);
   }
   console.log("数据写入成功!");
   console.log("--------我是分割线-------------")
   console.log("读取写入的数据!");
   fs.readFile('input.txt', function (err, data) {
      if (err) {
         return console.error(err);
      }
      console.log("异步读取文件数据: " + data.toString());
   });
});

上記のコードの実行結果は次のとおりです:

$ node file.js 
准备写入文件
数据写入成功!
--------我是分割线-------------
读取写入的数据!
异步读取文件数据: 我是通 过fs.writeFile 写入文件的内容

ファイルを読み取り

構文

以下は非同期モードでファイルを読み取る構文形式です:

fs.read(fd, buffer, offset, length, position, callback)

このメソッドはファイル記述子を使用してファイルを読み取ります。

パラメータ

パラメータの使用説明は次のとおりです:

  • fd- fs.open() メソッドによって返されるファイル記述子。

  • buffer- データを書き込むバッファ。

  • offset- バッファへの書き込みオフセット。

  • length- ファイルから読み取るバイト数。

  • position- ファイル読み取りの開始位置。position の値が null の場合、現在のファイルポインタの位置から読み取ります。

  • callback- コールバック関数。3つのパラメータ err、bytesRead、buffer があります。err はエラー情報、bytesRead は読み取ったバイト数、buffer はバッファオブジェクトです。

例

input.txt ファイルの内容は次のとおりです:

サンプル官网地址:www.example.com

次に file.js ファイルを作成します。コードは次のとおりです:

var fs = require("fs");
var buf = new Buffer.alloc(1024);

console.log("准备打开已存在的文件!");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
   console.log("文件打开成功!");
   console.log("准备读取文件:");
   fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
      if (err){
         console.log(err);
      }
      console.log(bytes + "  字节被读取");
      
      // 仅输出读取的字节
      if(bytes > 0){
         console.log(buf.slice(0, bytes).toString());
      }
   });
});

上記のコードの実行結果は次のとおりです:

$ node file.js 
准备打开已存在的文件!
文件打开成功!
准备读取文件:
42  字节被读取
サンプル官网地址:www.example.com

ファイルを閉じる

構文

以下は非同期モードでファイルを閉じる構文形式です:

fs.close(fd, callback)

このメソッドはファイル記述子を使用してファイルを読み取ります。

パラメータ

パラメータの使用説明は次のとおりです:

  • fd- fs.open() メソッドによって返されるファイル記述子。

  • callback- コールバック関数。パラメータはありません。

例

input.txt ファイルの内容は次のとおりです:

サンプル官网地址:www.example.com

次に file.js ファイルを作成します。コードは次のとおりです:

var fs = require("fs");
var buf = new Buffer.alloc(1024);

console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
   console.log("文件打开成功!");
   console.log("准备读取文件!");
   fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
      if (err){
         console.log(err);
      }

      // 仅输出读取的字节
      if(bytes > 0){
         console.log(buf.slice(0, bytes).toString());
      }

      // 关闭文件
      fs.close(fd, function(err){
         if (err){
            console.log(err);
         } 
         console.log("文件关闭成功");
      });
   });
});

上記のコードの実行結果は次のとおりです:

$ node file.js 
准备打开文件!
文件打开成功!
准备读取文件!
サンプル官网地址:www.example.com
文件关闭成功

ファイルを切り詰める

構文

以下は非同期モードでファイルを切り詰める構文形式です:

fs.ftruncate(fd, len, callback)

このメソッドはファイル記述子を使用してファイルを読み取ります。

パラメータ

パラメータの使用説明は次のとおりです:

  • fd- fs.open() メソッドによって返されるファイル記述子。

  • len- ファイル内容を切り詰める長さ。

  • callback- コールバック関数。パラメータはありません。

例

input.txt ファイルの内容は次のとおりです:

site:www.example.com

次に file.js ファイルを作成します。コードは次のとおりです:

var fs = require("fs");
var buf = new Buffer.alloc(1024);

console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
   console.log("文件打开成功!");
   console.log("截取10字节内的文件内容,超出部分将被去除。");
   
   // 截取文件
   fs.ftruncate(fd, 10, function(err){
      if (err){
         console.log(err);
      } 
      console.log("文件截取成功。");
      console.log("读取相同的文件"); 
      fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
         if (err){
            console.log(err);
         }

         // 仅输出读取的字节
         if(bytes > 0){
            console.log(buf.slice(0, bytes).toString());
         }

         // 关闭文件
         fs.close(fd, function(err){
            if (err){
               console.log(err);
            } 
            console.log("文件关闭成功!");
         });
      });
   });
});

上記のコードの実行結果は次のとおりです:

$ node file.js 
准备打开文件!
文件打开成功!
截取10字节内的文件内容,超出部分将被去除。
文件截取成功。
读取相同的文件
site:www.r
文件关闭成功

ファイルの削除

構文

以下はファイルを削除する構文形式です:

fs.unlink(path, callback)

パラメータ

パラメータの使用説明は次のとおりです:

  • path- ファイルパス。

  • callback- コールバック関数。パラメータはありません。

例

input.txt ファイルの内容は次のとおりです:

site:www.example.com

次に file.js ファイルを作成します。コードは次のとおりです:

var fs = require("fs");

console.log("准备删除文件!");
fs.unlink('input.txt', function(err) {
   if (err) {
       return console.error(err);
   }
   console.log("文件删除成功!");
});

上記のコードの実行結果は次のとおりです:

$ node file.js 
准备删除文件!
文件删除成功!

その後 input.txt ファイルを確認すると、もう存在しないことがわかります。


ディレクトリの作成

構文

以下はディレクトリを作成する構文形式です:

fs.mkdir(path[, options], callback)

パラメータ

パラメータの使用説明は次のとおりです:

  • path- ファイルパス。

  • options パラメータは次のものにできます:

    • recursive 再帰のにディレクトリを作成するかどうか。デフォルトは false です。
    • mode- ディレクトリの権限を設定します。デフォルトは 0777 です。
  • callback- コールバック関数。パラメータはありません。

例

次に file.js ファイルを作成します。コードは次のとおりです:

var fs = require("fs");
// tmp 目录必须存在
console.log("创建目录 /tmp/test/");
fs.mkdir("/tmp/test/",function(err){
   if (err) {
       return console.error(err);
   }
   console.log("目录创建成功。");
});

上記のコードの実行結果は次のとおりです:

$ node file.js 
创建目录 /tmp/test/
目录创建成功。

recursive: true パラメータを追加できます。作成するディレクトリ /tmp と /tmp/a が存在するかどうかに関係なく:

fs.mkdir('/tmp/a/apple', { recursive: true }, (err) => {
  if (err) throw err;
});

ディレクトリの読み取り

構文

以下はディレクトリを読み取る構文形式です:

fs.readdir(path, callback)

パラメータ

パラメータの使用説明は次のとおりです:

  • path- ファイルパス。

  • callback- コールバック関数。コールバック関数には2つのパラメータ err、files があります。err はエラー情報、files はディレクトリ内のファイル配列リストです。

例

次に file.js ファイルを作成します。コードは次のとおりです:

var fs = require("fs");

console.log("查看 /tmp 目录");
fs.readdir("/tmp/",function(err, files){
   if (err) {
       return console.error(err);
   }
   files.forEach( function (file){
       console.log( file );
   });
});

上記のコードの実行結果は次のとおりです:

$ node file.js 
查看 /tmp 目录
input.out
output.out
test
test.txt

ディレクトリの削除

構文

以下はディレクトリを削除する構文形式です:

fs.rmdir(path, callback)

パラメータ

パラメータの使用説明は次のとおりです:

  • path- ファイルパス。

  • callback- コールバック関数。パラメータはありません。

例

次に file.js ファイルを作成します。コードは次のとおりです:

var fs = require("fs");
// 执行前创建一个空的 /tmp/test 目录
console.log("准备删除目录 /tmp/test");
fs.rmdir("/tmp/test",function(err){
   if (err) {
       return console.error(err);
   }
   console.log("读取 /tmp 目录");
   fs.readdir("/tmp/",function(err, files){
      if (err) {
          return console.error(err);
      }
      files.forEach( function (file){
          console.log( file );
      });
   });
});

上記のコードの実行結果は次のとおりです:

$ node file.js 
准备删除目录 /tmp/test
读取 /tmp 目录
……

ファイルモジュールメソッドリファレンス

以下は Node.js ファイルモジュールのメソッドリストです:

番号メソッド & 説明
1fs.rename(oldPath, newPath, callback)
非同期 rename()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
2fs.ftruncate(fd, len, callback)
非同期 ftruncate()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
3fs.ftruncateSync(fd, len)
同期 ftruncate()
4fs.truncate(path, len, callback)
非同期 truncate()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
5fs.truncateSync(path, len)
同期 truncate()
6fs.chown(path, uid, gid, callback)
非同期 chown()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
7fs.chownSync(path, uid, gid)
同期 chown()
8fs.fchown(fd, uid, gid, callback)
非同期 fchown()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
9fs.fchownSync(fd, uid, gid)
同期 fchown()
10fs.lchown(path, uid, gid, callback)
非同期 lchown()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
11fs.lchownSync(path, uid, gid)
同期 lchown()
12fs.chmod(path, mode, callback)
非同期 chmod()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
13fs.chmodSync(path, mode)
同期 chmod()
14fs.fchmod(fd, mode, callback)
非同期 fchmod()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
15fs.fchmodSync(fd, mode)
同期 fchmod()
16fs.lchmod(path, mode, callback)
非同期 lchmod()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。Mac OS X でのみ利用可能です。
17fs.lchmodSync(path, mode)
同期 lchmod()
18fs.stat(path, callback)
非同期 stat()。コールバック関数には2つのパラメータ err、stats があります。stats は fs.Stats オブジェクトです。
19fs.lstat(path, callback)
非同期 lstat()。コールバック関数には2つのパラメータ err、stats があります。stats は fs.Stats オブジェクトです。
20fs.fstat(fd, callback)
非同期 fstat()。コールバック関数には2つのパラメータ err、stats があります。stats は fs.Stats オブジェクトです。
21fs.statSync(path)
同期 stat()。fs.Stats のインスタンスを返します。
22fs.lstatSync(path)
同期 lstat()。fs.Stats のインスタンスを返します。
23fs.fstatSync(fd)
同期 fstat()。fs.Stats のインスタンスを返します。
24fs.link(srcpath, dstpath, callback)
非同期 link()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
25fs.linkSync(srcpath, dstpath)
同期 link()
26fs.symlink(srcpath, dstpath[, type], callback)
非同期 symlink()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。type パラメータは 'dir'、'file'、または 'junction'(デフォルトは 'file')に設定できます。
27fs.symlinkSync(srcpath, dstpath[, type])
同期 symlink()
28fs.readlink(path, callback)
非同期 readlink()。コールバック関数には2つのパラメータ err、linkString があります。
29fs.realpath(path[, cache], callback)
非同期 realpath()。コールバック関数には2つのパラメータ err、resolvedPath があります。
30fs.realpathSync(path[, cache])
同期 realpath()。絶対パスを返します。
31fs.unlink(path, callback)
非同期 unlink()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
32fs.unlinkSync(path)
同期 unlink()
33fs.rmdir(path, callback)
非同期 rmdir()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
34fs.rmdirSync(path)
同期 rmdir()
35fs.mkdir(path[, mode], callback)
非同期 mkdir(2)。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。アクセス権限はデフォルトで 0777 です。
36fs.mkdirSync(path[, mode])
同期 mkdir()
37fs.readdir(path, callback)
非同期 readdir(3)。ディレクトリの内容を読み取ります。
38fs.readdirSync(path)
同期 readdir()。ファイル配列リストを返します。
39fs.close(fd, callback)
非同期 close()。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
40fs.closeSync(fd)
同期 close()
41fs.open(path, flags[, mode], callback)
非同期でファイルを開きます。
42fs.openSync(path, flags[, mode])
同期版の fs.open()。
43fs.utimes(path, atime, mtime, callback)
 
44fs.utimesSync(path, atime, mtime)
ファイルのタイムスタンプを変更します。ファイルは指定されたファイルパスによって指定されます。
45fs.futimes(fd, atime, mtime, callback)
 
46fs.futimesSync(fd, atime, mtime)
ファイルのタイムスタンプを変更します。ファイル記述子によって指定します。
47fs.fsync(fd, callback)
非同期 fsync。コールバック関数にパラメータはありませんが、例外がスローされる可能性があります。
48fs.fsyncSync(fd)
同期 fsync
49fs.write(fd, buffer, offset, length[, position], callback)
バッファの内容を、ファイル記述子によって指定されたファイルに書き込みます。
50fs.write(fd, data[, position[, encoding]], callback)
ファイル記述子 fd を使用してファイル内容を書き込みます。
51fs.writeSync(fd, buffer, offset, length[, position])
同期版の fs.write()。
52fs.writeSync(fd, data[, position[, encoding]])
同期版の fs.write()。
53fs.read(fd, buffer, offset, length, position, callback)
ファイル記述子 fd を使用してファイル内容を読み取ります。
54fs.readSync(fd, buffer, offset, length, position)
同期版の fs.read。
55fs.readFile(filename[, options], callback)
ファイルの内容を非同期で読み取ります。
56fs.readFileSync(filename[, options])
57fs.writeFile(filename, data[, options], callback)
ファイルの内容を非同期で書き込みます。
58fs.writeFileSync(filename, data[, options])
同期版の fs.writeFile。
59fs.appendFile(filename, data[, options], callback)
ファイルの内容を非同期で追加します。
60fs.appendFileSync(filename, data[, options])
fs.appendFile の同期版。
61fs.watchFile(filename[, options], listener)
ファイルの変更を監視します。
62fs.unwatchFile(filename[, listener])
filename の変更の監視を停止します。
63fs.watch(filename[, options][, listener])
filename の変更を監視します。filename にはファイルまたはディレクトリを指定できます。fs.FSWatcher オブジェクトを返します。
64fs.exists(path, callback)
指定されたパスが存在するかどうかを確認します。
65fs.existsSync(path)
同期版の fs.exists。
66fs.access(path[, mode], callback)
指定されたパスに対するユーザー権限をテストします。
67fs.accessSync(path[, mode])
同期版の fs.access。
68fs.createReadStream(path[, options])
ReadStream オブジェクトを返します。
69fs.createWriteStream(path[, options])
WriteStream オブジェクトを返します。
70fs.symlink(srcpath, dstpath[, type], callback)
非同期の symlink()。コールバック関数にはパラメータがありませんが、例外がスローされる可能性があります。

詳細については、公式サイトのファイルモジュールの説明を参照してください:File System。

その他の拡張