Node.js-ファイルシステム

Nodeは、標準のPOSIX関数の単純なラッパーを使用してファイルI / Oを実装します。ノードファイルシステム(fs)モジュールは、次の構文を使用してインポートできます-

var fs = require("fs")

同期vs非同期

fsモジュールのすべてのメソッドには、同期形式と非同期形式があります。非同期メソッドは、最後のパラメーターを完了関数のコールバックとして受け取り、コールバック関数の最初のパラメーターをエラーとして受け取ります。前者は実行中にプログラムをブロックしないのに対し、2番目のメソッドはブロックするため、同期メソッドの代わりに非同期メソッドを使用することをお勧めします。

名前の付いたテキストファイルを作成します input.txt 次の内容で-

Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!

名前の付いたjsファイルを作成しましょう main.js 次のコードで-

var fs = require("fs");

// Asynchronous read
fs.readFile('input.txt', function (err, data) {
   if (err) {
      return console.error(err);
   }
   console.log("Asynchronous read: " + data.toString());
});

// Synchronous read
var data = fs.readFileSync('input.txt');
console.log("Synchronous read: " + data.toString());

console.log("Program Ended");

次に、main.jsを実行して結果を確認します-

$ node main.js

出力を確認します。

Synchronous read: Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!

Program Ended
Asynchronous read: Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!

この章の次のセクションでは、主要なファイルI / Oメソッドに関する一連の優れた例を示します。

ファイルを開く

構文

以下は、非同期モードでファイルを開くメソッドの構文です。

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

パラメーター

使用されるパラメータの説明は次のとおりです-

  • path −パスを含むファイル名の文字列です。

  • flags−フラグは、開かれるファイルの動作を示します。可能なすべての値を以下に示します。

  • mode−ファイルモード(許可およびスティッキービット)を設定しますが、ファイルが作成された場合に限ります。デフォルトは0666で、読み取りと書き込みが可能です。

  • callback −これは、2つの引数(err、fd)を取得するコールバック関数です。

フラグ

読み取り/書き込み操作のフラグは次のとおりです。

シニア番号 フラグと説明
1

r

読み取り用にファイルを開きます。ファイルが存在しない場合は例外が発生します。

2

r+

読み取りと書き込み用にファイルを開きます。ファイルが存在しない場合は例外が発生します。

3

rs

同期モードで読み取るためにファイルを開きます。

4

rs+

読み取りと書き込み用にファイルを開き、OSに同期的に開くように要求します。注意してこれを使用することについては、「rs」の注記を参照してください。

5

w

書き込み用にファイルを開きます。ファイルが作成されるか(存在しない場合)、切り捨てられます(存在する場合)。

6

wx

'w'と同様ですが、パスが存在する場合は失敗します。

7

w+

読み取りと書き込み用にファイルを開きます。ファイルが作成されるか(存在しない場合)、切り捨てられます(存在する場合)。

8

wx+

'w +'と同様ですが、パスが存在する場合は失敗します。

9

a

追加するファイルを開きます。ファイルが存在しない場合は作成されます。

10

ax

'a'と同様ですが、パスが存在する場合は失敗します。

11

a+

読み取りと追加のためにファイルを開きます。ファイルが存在しない場合は作成されます。

12

ax+

'a +'と同様ですが、パスが存在する場合は失敗します。

名前の付いたjsファイルを作成しましょう main.js 読み取りと書き込みのためにファイルinput.txtを開くための次のコードがあります。

var fs = require("fs");

// Asynchronous - Opening File
console.log("Going to open file!");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
      return console.error(err);
   }
   console.log("File opened successfully!");     
});

次に、main.jsを実行して結果を確認します-

$ node main.js

出力を確認します。

Going to open file!
File opened successfully!

ファイル情報を取得する

構文

以下は、ファイルに関する情報を取得するためのメソッドの構文です。

fs.stat(path, callback)

パラメーター

使用されるパラメータの説明は次のとおりです-

  • path −パスを含むファイル名の文字列です。

  • callback −これは、2つの引数(err、stats)を取得するコールバック関数です。 stats は、以下の例で出力されるfs.Statsタイプのオブジェクトです。

以下の例で印刷されている重要な属性とは別に、で利用可能ないくつかの便利な方法があります。 fs.Statsファイルタイプの確認に使用できるクラス。これらのメソッドを次の表に示します。

シニア番号 方法と説明
1

stats.isFile()

単純なファイルのファイルタイプの場合はtrueを返します。

2

stats.isDirectory()

ディレクトリのファイルタイプの場合はtrueを返します。

3

stats.isBlockDevice()

ブロックデバイスのファイルタイプの場合はtrueを返します。

4

stats.isCharacterDevice()

文字デバイスのファイルタイプの場合はtrueを返します。

5

stats.isSymbolicLink()

シンボリックリンクのファイルタイプの場合はtrueを返します。

6

stats.isFIFO()

FIFOのファイルタイプの場合はtrueを返します。

7

stats.isSocket()

asocketのファイルタイプの場合はtrueを返します。

名前の付いたjsファイルを作成しましょう main.js 次のコードで-

var fs = require("fs");

console.log("Going to get file info!");
fs.stat('input.txt', function (err, stats) {
   if (err) {
      return console.error(err);
   }
   console.log(stats);
   console.log("Got file info successfully!");
   
   // Check file type
   console.log("isFile ? " + stats.isFile());
   console.log("isDirectory ? " + stats.isDirectory());    
});

次に、main.jsを実行して結果を確認します-

$ node main.js

出力を確認します。

Going to get file info!
{ 
   dev: 1792,
   mode: 33188,
   nlink: 1,
   uid: 48,
   gid: 48,
   rdev: 0,
   blksize: 4096,
   ino: 4318127,
   size: 97,
   blocks: 8,
   atime: Sun Mar 22 2015 13:40:00 GMT-0500 (CDT),
   mtime: Sun Mar 22 2015 13:40:57 GMT-0500 (CDT),
   ctime: Sun Mar 22 2015 13:40:57 GMT-0500 (CDT) 
}
Got file info successfully!
isFile ? true
isDirectory ? false

ファイルの作成

構文

以下は、ファイルに書き込む方法の1つの構文です-

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

ファイルがすでに存在する場合、このメソッドはファイルを上書きします。既存のファイルに書き込みたい場合は、利用可能な別の方法を使用する必要があります。

パラメーター

使用されるパラメータの説明は次のとおりです-

  • path −パスを含むファイル名の文字列です。

  • data −これはファイルに書き込まれる文字列またはバッファです。

  • options− 3番目のパラメーターは、{encoding、mode、flag}を保持するオブジェクトです。デフォルトでは。エンコーディングはutf8、モードは8進値0666、フラグは「w」です。

  • callback −これは、書き込みエラーが発生した場合にエラーを返す単一のパラメーターerrを取得するコールバック関数です。

名前の付いたjsファイルを作成しましょう main.js 次のコードを持っている-

var fs = require("fs");

console.log("Going to write into existing file");
fs.writeFile('input.txt', 'Simply Easy Learning!', function(err) {
   if (err) {
      return console.error(err);
   }
   
   console.log("Data written successfully!");
   console.log("Let's read newly written data");
   
   fs.readFile('input.txt', function (err, data) {
      if (err) {
         return console.error(err);
      }
      console.log("Asynchronous read: " + data.toString());
   });
});

次に、main.jsを実行して結果を確認します-

$ node main.js

出力を確認します。

Going to write into existing file
Data written successfully!
Let's read newly written data
Asynchronous read: Simply Easy Learning!

ファイルの読み取り

構文

以下は、ファイルから読み取る方法の1つの構文です-

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

このメソッドは、ファイル記述子を使用してファイルを読み取ります。ファイル名を使用してファイルを直接読み取りたい場合は、別の方法を使用する必要があります。

パラメーター

使用されるパラメータの説明は次のとおりです-

  • fd −これは、fs.open()によって返されるファイル記述子です。

  • buffer −これはデータが書き込まれるバッファです。

  • offset −これは書き込みを開始するバッファ内のオフセットです。

  • length −これは読み取るバイト数を指定する整数です。

  • position−これは、ファイルのどこから読み取りを開始するかを指定する整数です。positionがnullの場合、データは現在のファイル位置から読み取られます。

  • callback −これは、3つの引数(err、bytesRead、buffer)を取得するコールバック関数です。

名前の付いたjsファイルを作成しましょう main.js 次のコードで-

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

console.log("Going to open an existing file");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
      return console.error(err);
   }
   console.log("File opened successfully!");
   console.log("Going to read the file");
   
   fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
      if (err){
         console.log(err);
      }
      console.log(bytes + " bytes read");
      
      // Print only read bytes to avoid junk.
      if(bytes > 0){
         console.log(buf.slice(0, bytes).toString());
      }
   });
});

次に、main.jsを実行して結果を確認します-

$ node main.js

出力を確認します。

Going to open an existing file
File opened successfully!
Going to read the file
97 bytes read
Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!

ファイルを閉じる

構文

以下は、開いているファイルを閉じるための構文です-

fs.close(fd, callback)

パラメーター

使用されるパラメータの説明は次のとおりです-

  • fd −これは、ファイルfs.open()メソッドによって返されるファイル記述子です。

  • callback −これはコールバック関数です。完了コールバックには、考えられる例外以外の引数は指定されていません。

名前の付いたjsファイルを作成しましょう main.js 次のコードを持っている-

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

console.log("Going to open an existing file");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
      return console.error(err);
   }
   console.log("File opened successfully!");
   console.log("Going to read the file");
   
   fs.read(fd, buf, 0, buf.length, 0, function(err, bytes) {
      if (err) {
         console.log(err);
      }

      // Print only read bytes to avoid junk.
      if(bytes > 0) {
         console.log(buf.slice(0, bytes).toString());
      }

      // Close the opened file.
      fs.close(fd, function(err) {
         if (err) {
            console.log(err);
         } 
         console.log("File closed successfully.");
      });
   });
});

次に、main.jsを実行して結果を確認します-

$ node main.js

出力を確認します。

Going to open an existing file
File opened successfully!
Going to read the file
Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!

File closed successfully.

ファイルを切り捨てる

構文

以下は、開いているファイルを切り捨てるメソッドの構文です。

fs.ftruncate(fd, len, callback)

パラメーター

使用されるパラメータの説明は次のとおりです-

  • fd −これは、fs.open()によって返されるファイル記述子です。

  • len −これは、ファイルが切り捨てられるまでのファイルの長さです。

  • callback −これはコールバック関数です。完了コールバックには、考えられる例外以外の引数は指定されていません。

名前の付いたjsファイルを作成しましょう main.js 次のコードを持っている-

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

console.log("Going to open an existing file");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
      return console.error(err);
   }
   console.log("File opened successfully!");
   console.log("Going to truncate the file after 10 bytes");
   
   // Truncate the opened file.
   fs.ftruncate(fd, 10, function(err) {
      if (err) {
         console.log(err);
      } 
      console.log("File truncated successfully.");
      console.log("Going to read the same file"); 
      
      fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
         if (err) {
            console.log(err);
         }

         // Print only read bytes to avoid junk.
         if(bytes > 0) {
            console.log(buf.slice(0, bytes).toString());
         }

         // Close the opened file.
         fs.close(fd, function(err) {
            if (err) {
               console.log(err);
            } 
            console.log("File closed successfully.");
         });
      });
   });
});

次に、main.jsを実行して結果を確認します-

$ node main.js

出力を確認します。

Going to open an existing file
File opened successfully!
Going to truncate the file after 10 bytes
File truncated successfully.
Going to read the same file
Tutorials 
File closed successfully.

ファイルを削除する

構文

以下は、ファイルを削除するメソッドの構文です-

fs.unlink(path, callback)

パラメーター

使用されるパラメータの説明は次のとおりです-

  • path −これはパスを含むファイル名です。

  • callback −これはコールバック関数です。完了コールバックには、考えられる例外以外の引数は指定されていません。

名前の付いたjsファイルを作成しましょう main.js 次のコードを持っている-

var fs = require("fs");

console.log("Going to delete an existing file");
fs.unlink('input.txt', function(err) {
   if (err) {
      return console.error(err);
   }
   console.log("File deleted successfully!");
});

次に、main.jsを実行して結果を確認します-

$ node main.js

出力を確認します。

Going to delete an existing file
File deleted successfully!

ディレクトリを作成する

構文

以下は、ディレクトリを作成するメソッドの構文です-

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

パラメーター

使用されるパラメータの説明は次のとおりです-

  • path −これはパスを含むディレクトリ名です。

  • mode−これは設定するディレクトリ権限です。デフォルトは0777です。

  • callback −これはコールバック関数です。完了コールバックには、考えられる例外以外の引数は指定されていません。

名前の付いたjsファイルを作成しましょう main.js 次のコードを持っている-

var fs = require("fs");

console.log("Going to create directory /tmp/test");
fs.mkdir('/tmp/test',function(err) {
   if (err) {
      return console.error(err);
   }
   console.log("Directory created successfully!");
});

次に、main.jsを実行して結果を確認します-

$ node main.js

出力を確認します。

Going to create directory /tmp/test
Directory created successfully!

ディレクトリを読む

構文

以下は、ディレクトリを読み取るメソッドの構文です。

fs.readdir(path, callback)

パラメーター

使用されるパラメータの説明は次のとおりです-

  • path −これはパスを含むディレクトリ名です。

  • callback−これは、2つの引数(err、files)を取得するコールバック関数です。filesは、「。」を除くディレクトリ内のファイルの名前の配列です。および「..」。

名前の付いたjsファイルを作成しましょう main.js 次のコードを持っている-

var fs = require("fs");

console.log("Going to read directory /tmp");
fs.readdir("/tmp/",function(err, files) {
   if (err) {
      return console.error(err);
   }
   files.forEach( function (file) {
      console.log( file );
   });
});

次に、main.jsを実行して結果を確認します-

$ node main.js

出力を確認します。

Going to read directory /tmp
ccmzx99o.out
ccyCSbkF.out
employee.ser
hsperfdata_apache
test
test.txt

ディレクトリを削除する

構文

以下は、ディレクトリを削除するメソッドの構文です-

fs.rmdir(path, callback)

パラメーター

使用されるパラメータの説明は次のとおりです-

  • path −これはパスを含むディレクトリ名です。

  • callback −これはコールバック関数です。完了コールバックには、考えられる例外以外の引数は指定されていません。

名前の付いたjsファイルを作成しましょう main.js 次のコードを持っている-

var fs = require("fs");

console.log("Going to delete directory /tmp/test");
fs.rmdir("/tmp/test",function(err) {
   if (err) {
      return console.error(err);
   }
   console.log("Going to read directory /tmp");
   
   fs.readdir("/tmp/",function(err, files) {
      if (err) {
         return console.error(err);
      }
      files.forEach( function (file) {
         console.log( file );
      });
   });
});

次に、main.jsを実行して結果を確認します-

$ node main.js

出力を確認します。

Going to read directory /tmp
ccmzx99o.out
ccyCSbkF.out
employee.ser
hsperfdata_apache
test.txt

メソッドリファレンス

シニア番号 方法と説明
1

fs.rename(oldPath, newPath, callback)

非同期rename()。可能な例外以外の引数は、完了コールバックに与えられません。

2

fs.ftruncate(fd, len, callback)

非同期ftruncate()。可能な例外以外の引数は、完了コールバックに与えられません。

3

fs.ftruncateSync(fd, len)

同期ftruncate()。

4

fs.truncate(path, len, callback)

非同期truncate()。可能な例外以外の引数は、完了コールバックに与えられません。

5

fs.truncateSync(path, len)

同期truncate()。

6

fs.chown(path, uid, gid, callback)

非同期chown()。可能な例外以外の引数は、完了コールバックに与えられません。

7

fs.chownSync(path, uid, gid)

同期chown()。

8

fs.fchown(fd, uid, gid, callback)

非同期fchown()。可能な例外以外の引数は、完了コールバックに与えられません。

9

fs.fchownSync(fd, uid, gid)

同期fchown()。

10

fs.lchown(path, uid, gid, callback)

非同期lchown()。可能な例外以外の引数は、完了コールバックに与えられません。

11

fs.lchownSync(path, uid, gid)

同期lchown()。

12

fs.chmod(path, mode, callback)

非同期chmod()。可能な例外以外の引数は、完了コールバックに与えられません。

13

fs.chmodSync(path, mode)

同期chmod()。

14

fs.fchmod(fd, mode, callback)

非同期fchmod()。可能な例外以外の引数は、完了コールバックに与えられません。

15

fs.fchmodSync(fd, mode)

同期fchmod()。

16

fs.lchmod(path, mode, callback)

非同期lchmod()。可能な例外以外の引数は、完了コールバックに与えられません。Mac OSXでのみ使用できます。

17

fs.lchmodSync(path, mode)

同期lchmod()。

18

fs.stat(path, callback)

非同期stat()。コールバックは2つの引数(err、stats)を取得します。ここで、statsはfs.Statsオブジェクトです。

19

fs.lstat(path, callback)

非同期lstat()。コールバックは2つの引数(err、stats)を取得します。ここで、statsはfs.Statsオブジェクトです。lstat()はstat()と同じですが、パスがシンボリックリンクの場合、参照するファイルではなく、リンク自体が統計化されます。

20

fs.fstat(fd, callback)

非同期fstat()。コールバックは2つの引数(err、stats)を取得します。ここで、statsはfs.Statsオブジェクトです。fstat()はstat()と同じですが、stat-edされるファイルがファイル記述子fdによって指定される点が異なります。

21

fs.statSync(path)

同期stat()。fs.Statsのインスタンスを返します。

22

fs.lstatSync(path)

同期lstat()。fs.Statsのインスタンスを返します。

23

fs.fstatSync(fd)

同期fstat()。fs.Statsのインスタンスを返します。

24

fs.link(srcpath, dstpath, callback)

非同期link()。可能な例外以外の引数は、完了コールバックに与えられません。

25

fs.linkSync(srcpath, dstpath)

同期link()。

26

fs.symlink(srcpath, dstpath[, type], callback)

非同期シンボリックリンク()。可能な例外以外の引数は、完了コールバックに与えられません。type引数は、「dir」、「file」、または「junction」(デフォルトは「file」)に設定でき、Windowsでのみ使用できます(他のプラットフォームでは無視されます)。Windowsジャンクションポイントでは、宛先パスが絶対パスである必要があることに注意してください。'junction'を使用する場合、宛先引数は自動的に絶対パスに正規化されます。

27

fs.symlinkSync(srcpath, dstpath[, type])

同期シンボリックリンク()。

28

fs.readlink(path, callback)

非同期readlink()。コールバックは2つの引数(err、linkString)を取得します。

29

fs.realpath(path[, cache], callback)

非同期realpath()。コールバックは2つの引数(err、resolvedPath)を取得します。process.cwdを使用して相対パスを解決できます。キャッシュは、マップされたパスのオブジェクトリテラルであり、特定のパス解決を強制したり、既知の実際のパスに対する追加のfs.stat呼び出しを回避したりするために使用できます。

30

fs.realpathSync(path[, cache])

同期realpath()。解決されたパスを返します。

31

fs.unlink(path, callback)

非同期unlink()。可能な例外以外の引数は、完了コールバックに与えられません。

32

fs.unlinkSync(path)

同期unlink()。

33

fs.rmdir(path, callback)

非同期rmdir()。可能な例外以外の引数は、完了コールバックに与えられません。

34

fs.rmdirSync(path)

同期rmdir()。

35

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

非同期mkdir(2)。可能な例外以外の引数は、完了コールバックに与えられません。モードのデフォルトは0777です。

36

fs.mkdirSync(path[, mode])

同期mkdir()。

37

fs.readdir(path, callback)

非同期readdir(3)。ディレクトリの内容を読み取ります。コールバックは2つの引数(err、files)を取得します。ここで、filesは、「。」を除くディレクトリ内のファイルの名前の配列です。および「..」。

38

fs.readdirSync(path)

同期readdir()。'。'を除くファイル名の配列を返します。および「..」。

39

fs.close(fd, callback)

非同期close()。可能な例外以外の引数は、完了コールバックに与えられません。

40

fs.closeSync(fd)

同期close()。

41

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

非同期ファイルを開きます。

42

fs.openSync(path, flags[, mode])

fs.open()の同期バージョン。

43

fs.utimes(path, atime, mtime, callback)

 

44

fs.utimesSync(path, atime, mtime)

指定されたパスによって参照されるファイルのファイルタイムスタンプを変更します。

45

fs.futimes(fd, atime, mtime, callback)

 

46

fs.futimesSync(fd, atime, mtime)

提供されたファイル記述子によって参照されるファイルのファイルタイムスタンプを変更します。

47

fs.fsync(fd, callback)

非同期fsync。可能な例外以外の引数は、完了コールバックに与えられません。

48

fs.fsyncSync(fd)

同期fsync。

49

fs.write(fd, buffer, offset, length[, position], callback)

fdで指定されたファイルにバッファを書き込みます。

50

fs.write(fd, data[, position[, encoding]], callback)

fdで指定されたファイルにデータを書き込みます。データがBufferインスタンスでない場合、値は文字列に強制変換されます。

51

fs.writeSync(fd, buffer, offset, length[, position])

fs.write()の同期バージョン。書き込まれたバイト数を返します。

52

fs.writeSync(fd, data[, position[, encoding]])

fs.write()の同期バージョン。書き込まれたバイト数を返します。

53

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

fdで指定されたファイルからデータを読み取ります。

54

fs.readSync(fd, buffer, offset, length, position)

fs.readの同期バージョン。bytesReadの数を返します。

55

fs.readFile(filename[, options], callback)

ファイルの内容全体を非同期的に読み取ります。

56

fs.readFileSync(filename[, options])

fs.readFileの同期バージョン。ファイル名の内容を返します。

57

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

データをファイルに非同期的に書き込み、ファイルがすでに存在する場合はファイルを置き換えます。データは文字列またはバッファにすることができます。

58

fs.writeFileSync(filename, data[, options])

fs.writeFileの同期バージョン。

59

fs.appendFile(filename, data[, options], callback)

データをファイルに非同期的に追加し、ファイルが存在しない場合はファイルを作成します。データは文字列またはバッファにすることができます。

60

fs.appendFileSync(filename, data[, options])

fs.appendFileの同期バージョン。

61

fs.watchFile(filename[, options], listener)

ファイル名の変更に注意してください。コールバックリスナーは、ファイルにアクセスするたびに呼び出されます。

62

fs.unwatchFile(filename[, listener])

ファイル名の変更の監視を停止します。リスナーが指定されている場合、その特定のリスナーのみが削除されます。それ以外の場合は、すべてのリスナーが削除され、ファイル名の監視が事実上停止されます。

63

fs.watch(filename[, options][, listener])

ファイル名の変更に注意してください。ファイル名はファイルまたはディレクトリのいずれかです。返されるオブジェクトはfs.FSWatcherです。

64

fs.exists(path, callback)

ファイルシステムに確認して、指定されたパスが存在するかどうかをテストします。次に、trueまたはfalseのいずれかを使用してコールバック引数を呼び出します。

65

fs.existsSync(path)

fs.existsの同期バージョン。

66

fs.access(path[, mode], callback)

パスで指定されたファイルに対するユーザーのアクセス許可をテストします。modeは、実行するアクセシビリティチェックを指定するオプションの整数です。

67

fs.accessSync(path[, mode])

fs.accessの同期バージョン。アクセシビリティチェックが失敗した場合はスローされ、それ以外の場合は何も実行されません。

68

fs.createReadStream(path[, options])

新しいReadStreamオブジェクトを返します。

69

fs.createWriteStream(path[, options])

新しいWriteStreamオブジェクトを返します。

70

fs.symlink(srcpath, dstpath[, type], callback)

非同期シンボリックリンク()。可能な例外以外の引数は、完了コールバックに与えられません。type引数は、「dir」、「file」、または「junction」(デフォルトは「file」)に設定でき、Windowsでのみ使用できます(他のプラットフォームでは無視されます)。Windowsジャンクションポイントでは、宛先パスが絶対パスである必要があることに注意してください。'junction'を使用する場合、宛先引数は自動的に絶対パスに正規化されます。