モジュールfs
ファイルシステム処理モジュール
手順:
1var fs = require('fs');
注意すべきいくつかのポイント:
fs.watch(filename)
継承からのリターンの実行EventEmitter ウォッチャー、「change」、「changeonly」、「renameonly」の3つのイベントをサポートしますfs.watchFile(target)
そして、fs.unwatchFile(target)
まだペアで使用することができますfs.watchFile(target)
から継承されたものを返します EventEmitter の StatsWatcherオブジェクト、呼び出しとfs.unwatchFile(target)
同等の呼び出しStatsWatcher.close()
。- Linux実装のuv以降
fs.watch
、recursive
オプションwin32 / darwinは安定したサポートです。Linuxfs.watch('/[path](path.md)/to', { recursive: true }, handler)
でのみ使用を試みることはできますがhandler
、コールバック時間が予想と異なる場合があります。
物体
constants
fsモジュールの定数オブジェクト
1fs_constants fs.constants;
静的関数
exists
指定されたファイルまたはディレクトリが存在するかどうかを照会します
1static Boolean fs.exists(String path) async;
呼び出しパラメーター:
- path:文字列、クエリするパスを指定します
戻り結果:
- Boolean、Trueを返し、ファイルまたはディレクトリが存在することを示します
access
指定されたファイルに対するユーザーの権限を照会します
1
2static fs.access(String path,
Integer mode = 0) async;
呼び出しパラメーター:
- path:文字列、クエリするパスを指定します
- mode:整数、クエリ権限を指定します。デフォルトはファイルが存在するかどうかです
link
ハードリンクファイルを作成します。この方法はWindowsではサポートされていません
1
2static fs.link(String oldPath,
String newPath) async;
呼び出しパラメーター:
- oldPath:文字列、ソースファイル
- newPath:文字列、作成するファイル
unlink
指定したファイルを削除します
1static fs.unlink(String path) async;
呼び出しパラメーター:
- path:文字列、削除するパスを指定します
mkdir
ディレクトリを作成する
1
2static fs.mkdir(String path,
Integer mode = 0777) async;
呼び出しパラメーター:
- path:文字列、作成するディレクトリの名前を指定します
- mode:整数、ファイルのアクセス許可を指定します。Windowsはこのパラメーターを無視します。デフォルト値:0777
ディレクトリを作成する
1
2static fs.mkdir(String path,
Object opt) async;
呼び出しパラメーター:
- path:文字列、作成するディレクトリの名前を指定します
- opt:オブジェクト、作成パラメータを指定
作成パラメーターには、次の値を含めることができます。
1
2
3
4{
recursive: false, // 指定是否父目录不存在是是否自动创建,默认值: false
mode: 0777 // 指定文件权限,Windows 忽略此参数,默认值: 0777
}
rmdir
ディレクトリを削除する
1static fs.rmdir(String path) async;
呼び出しパラメーター:
- path:文字列、削除するディレクトリの名前を指定します
rename
ファイルの名前を変更する
1
2static fs.rename(String from,
String to) async;
呼び出しパラメーター:
- from:文字列、名前を変更したファイルを指定します
- to:文字列、変更する新しいファイル名を指定します
copyFile
srcをdestにコピーします。デフォルトでは、destがすでに存在する場合は、上書きされます。
1
2
3static fs.copyFile(String from,
String to,
Integer mode = 0) async;
呼び出しパラメーター:
- from:文字列、コピーするソースファイルの名前を指定します
- to:文字列、コピーするターゲットファイルの名前を指定します
- mode:整数、コピー操作の修飾子を指定します。デフォルトは0です。
modeは、コピー操作の動作を指定するオプションの整数です。2つ以上の値のビットごとのORで構成されるマスクを作成できます(fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE)。
- fs.constants.COPYFILE_EXCL-destがすでに存在する場合、コピー操作は失敗します。
- fs.constants.COPYFILE_FICLONE-コピー操作は、コピーオンライトリンクの作成を試みます。プラットフォームがコピーオンライトをサポートしていない場合は、バックアップコピーメカニズムが使用されます。
- fs.constants.COPYFILE_FICLONE_FORCE-コピー操作は、コピーオンライトリンクの作成を試みます。プラットフォームがコピーオンライトをサポートしていない場合、コピー操作は失敗します。
chmod
指定されたファイルのアクセス許可を設定します。Windowsはこの方法をサポートしていません
1
2static fs.chmod(String path,
Integer mode) async;
呼び出しパラメーター:
- path:文字列、操作ファイルを指定します
- mode:整数、設定されたアクセス権限を指定します
lchmod
指定したファイルのアクセス許可を設定します。ファイルがソフトリンクの場合、ファイルへのアクセス許可は変更されません。macOSおよびBSDシリーズプラットフォームでのみ使用できます。
1
2static fs.lchmod(String path,
Integer mode) async;
呼び出しパラメーター:
- path:文字列、操作ファイルを指定します
- mode:整数、設定されたアクセス権限を指定します
chown
指定されたファイルの所有者を設定します。Windowsはこの方法をサポートしていません
1
2
3static fs.chown(String path,
Integer uid,
Integer gid) async;
呼び出しパラメーター:
- path:文字列、設定を指定するためのファイル
- uid:整数、ファイル所有者のユーザーID
- gid:整数、ファイル所有者グループID
lchown
指定されたファイルの所有者を設定します。指定されたファイルがソフトリンクの場合、指定されたファイルの所有者は変更されません。Windowsはこの方法をサポートしていません。
1
2
3static fs.lchown(String path,
Integer uid,
Integer gid) async;
呼び出しパラメーター:
- path:文字列、設定を指定するためのファイル
- uid:整数、ファイル所有者のユーザーID
- gid:整数、ファイル所有者グループID
stat
指定されたファイルの基本情報を照会します
1static Stat fs.stat(String path) async;
呼び出しパラメーター:
- path:文字列、クエリするファイルを指定します
戻り結果:
- Stat、ファイルの基本情報を返します
lstat
指定されたファイルの基本情報を照会します。statとの違いは、pathソフトリンクの場合、ポイントしたファイルの情報ではなく、ソフトリンクの情報が返されます。
1static Stat fs.lstat(String path) async;
呼び出しパラメーター:
- path:文字列、クエリするファイルを指定します
戻り結果:
- Stat、ファイルの基本情報を返します
readlink
指定されたソフト接続ファイルを読み取ります。この方法はWindowsではサポートされていません
1static String fs.readlink(String path) async;
呼び出しパラメーター:
- path:文字列、読み取るソフト接続ファイルを指定します
戻り結果:
- String、ソフトリンクが指すファイル名を返します
realpath
指定されたパスの絶対パスを返します。指定されたパスに相対パスが含まれている場合は、それも展開されます
1static String fs.realpath(String path) async;
呼び出しパラメーター:
- path:文字列、読み取るパスを指定します
戻り結果:
- String、処理された絶対パスを返します
symlink
ソフト接続ファイルを作成する
1
2
3static fs.symlink(String target,
String linkpath,
String type = "file") async;
呼び出しパラメーター:
- target:文字列、ターゲットファイル。ファイル、ディレクトリ、または存在しないパスの場合があります。
- linkpath:文字列、作成するソフトリンクファイル
- type:文字列、作成されたソフト接続のタイプ、オプションのタイプは「file」、「dir」、「junction」、デフォルトは「file」、このパラメーターは「junction」、ターゲットの場合、Windowsでのみ有効です。パスlinkpathは絶対パスである必要があり、ターゲットは自動的に絶対パスに変換されます。
truncate
ファイルサイズを変更します。指定した長さがソースファイルのサイズよりも大きい場合は、「\ 0」で入力します。そうしないと、より多くのファイルコンテンツが失われます。
1
2static fs.truncate(String path,
Integer len) async;
呼び出しパラメーター:
- path:文字列、変更されたファイルのパスを指定します
- len:整数、変更されたファイルのサイズを指定します
read
ファイル記述子に従って、ファイルの内容を読み取ります
1
2
3
4
5static Integer fs.read(Integer fd,
Buffer buffer,
Integer offset = 0,
Integer length = 0,
Integer position = -1) async;
呼び出しパラメーター:
- fd:整数、ファイル記述子
- buffer: Buffer、書かれた結果を読む Buffer 物体
- offset:整数、 Buffer 書き込みオフセット、デフォルトは0です
- length:整数、ファイルから読み取られたバイト数。デフォルトは0です。
- position:整数、ファイルの読み取り位置、デフォルトは現在のファイル位置です
戻り結果:
- Integer、実際に読み取られたバイト数
fchmod
ファイル記述子に従って、ファイルモードが変更されます。POSIXシステムでのみ有効です。
1
2static fs.fchmod(Integer fd,
Integer mode) async;
呼び出しパラメーター:
- fd:整数、ファイル記述子
- mode:整数、ファイルモード
fchown
ファイル記述子によると、所有者が変更されます。POSIXシステムでのみ有効です。
1
2
3static fs.fchown(Integer fd,
Integer uid,
Integer gid) async;
呼び出しパラメーター:
- fd:整数、ファイル記述子
- uid:整数、ユーザーID
- gid:整数、グループID
fdatasync
ファイル記述子に従って、データをディスクに同期します
1static fs.fdatasync(Integer fd) async;
呼び出しパラメーター:
- fd:整数、ファイル記述子
fsync
ファイル記述子に従って、データをディスクに同期します
1static fs.fsync(Integer fd) async;
呼び出しパラメーター:
- fd:整数、ファイル記述子
readdir
指定したディレクトリのファイル情報を読み取ります
1static NArray fs.readdir(String path) async;
呼び出しパラメーター:
- path:文字列、照会するディレクトリを指定します
戻り結果:
- NArray、ディレクトリのファイル情報配列を返します
openFile
読み取り、書き込み、または読み取りと書き込みを同時に行うためにファイルを開きます
1
2static SeekableStream fs.openFile(String fname,
String flags = "r") async;
呼び出しパラメーター:
- fname:文字列、ファイル名を指定します
- flags:文字列、ファイルを開く方法を指定します。デフォルトは「r」、読み取り専用です
戻り結果:
- SeekableStream、開いたファイルオブジェクトを返します
サポートされているパラメータフラグのメソッドは次のとおりです。
- 'r'は読み取り専用であり、ファイルが存在しない場合はエラーがスローされます。
- 「r +」読み取りおよび書き込みモード。ファイルが存在しない場合、エラーがスローされます。
- 「w」は書き込みのみです。ファイルが存在しない場合は自動的に作成され、存在する場合はクリアされます。
- 「w +」読み取りおよび書き込みモード。ファイルが存在しない場合、ファイルは自動的に作成されます。
- 'a'はaddingメソッドを書き込むだけで、ファイルが存在しない場合はファイルが自動的に作成されます。
- 'a +'読み取り/書き込み追加メソッド。ファイルが存在しない場合、ファイルは自動的に作成されます。
open
ファイル記述子を開く
1
2
3static Integer fs.open(String fname,
String flags = "r",
Integer mode = 0666) async;
呼び出しパラメーター:
- fname:文字列、ファイル名を指定します
- flags:文字列、ファイルを開く方法を指定します。デフォルトは「r」、読み取り専用です
- mode:整数、ファイルを作成するときに、ファイルのモードを指定します。デフォルトは0666です。
戻り結果:
- Integer、開いているファイル記述子を返します
サポートされているパラメータフラグのメソッドは次のとおりです。
- 'r'は読み取り専用であり、ファイルが存在しない場合はエラーがスローされます。
- 「r +」読み取りおよび書き込みモード。ファイルが存在しない場合、エラーがスローされます。
- 「w」は書き込みのみです。ファイルが存在しない場合は自動的に作成され、存在する場合はクリアされます。
- 「w +」読み取りおよび書き込みモード。ファイルが存在しない場合、ファイルは自動的に作成されます。
- 'a'はaddingメソッドを書き込むだけで、ファイルが存在しない場合はファイルが自動的に作成されます。
- 'a +'読み取り/書き込み追加メソッド。ファイルが存在しない場合、ファイルは自動的に作成されます。
close
ファイル記述子を閉じる
1static fs.close(Integer fd) async;
呼び出しパラメーター:
- fd:整数、ファイル記述子
openTextStream
読み取り、書き込み、または読み取りと書き込みを同時に行うためのテキストファイルを開きます
1
2static BufferedStream fs.openTextStream(String fname,
String flags = "r") async;
呼び出しパラメーター:
- fname:文字列、ファイル名を指定します
- flags:文字列、ファイルを開く方法を指定します。デフォルトは「r」、読み取り専用です
戻り結果:
- BufferedStream、開いたファイルオブジェクトを返します
サポートされているパラメータフラグのメソッドは次のとおりです。
- 'r'は読み取り専用であり、ファイルが存在しない場合はエラーがスローされます。
- 「r +」読み取りおよび書き込みモード。ファイルが存在しない場合、エラーがスローされます。
- 「w」は書き込みのみです。ファイルが存在しない場合は自動的に作成され、存在する場合はクリアされます。
- 「w +」読み取りおよび書き込みモード。ファイルが存在しない場合、ファイルは自動的に作成されます。
- 'a'はaddingメソッドを書き込むだけで、ファイルが存在しない場合はファイルが自動的に作成されます。
- 'a +'読み取り/書き込み追加メソッド。ファイルが存在しない場合、ファイルは自動的に作成されます。
readTextFile
テキストファイルを開き、コンテンツを読みます
1static String fs.readTextFile(String fname) async;
呼び出しパラメーター:
- fname:文字列、ファイル名を指定します
戻り結果:
- String、ファイルのテキストコンテンツを返します
readFile
バイナリファイルを開き、内容を読みます
1
2static Variant fs.readFile(String fname,
String encoding = "") async;
呼び出しパラメーター:
- fname:文字列、ファイル名を指定します
- encoding:文字列、デコード方法を指定します。デフォルトではデコードされません
戻り結果:
- Variant、ファイルのテキストコンテンツを返します
readLines
ファイルを開き、配列内のテキスト行のグループを読み取ります。行の終わりは、EOL属性の設定に基づいて識別されます。デフォルトでは、posix: "\ n"; windows: "\ r \ n"
1
2static Array fs.readLines(String fname,
Integer maxlines = -1);
呼び出しパラメーター:
- fname:文字列、ファイル名を指定します
- maxlines:整数、今回読み取る最大行数を指定し、デフォルトですべてのテキスト行を読み取ります
戻り結果:
- Array、読み取るデータがない場合、または接続が中断されている場合は、読み取ったテキスト行配列を返します。空の配列
writeTextFile
テキストファイルを作成してコンテンツを書き込む
1
2static fs.writeTextFile(String fname,
String txt) async;
呼び出しパラメーター:
- fname:文字列、ファイル名を指定します
- txt:文字列、書き込む文字列を指定します
writeFile
バイナリファイルを作成してコンテンツを書き込む
1
2static fs.writeFile(String fname,
Buffer data) async;
呼び出しパラメーター:
- fname:文字列、ファイル名を指定します
- data: Buffer、書き込むバイナリデータを指定します
appendFile
バイナリファイルを作成してコンテンツを書き込む
1
2static fs.appendFile(String fname,
Buffer data) async;
呼び出しパラメーター:
- fname:文字列、ファイル名を指定します
- data: Buffer、書き込むバイナリデータを指定します
setZipFS
設定 zip 仮想ファイルマッピング
1
2static fs.setZipFS(String fname,
Buffer data);
呼び出しパラメーター:
clearZipFS
クリア zip 仮想ファイルマッピング
1static fs.clearZipFS(String fname = "");
呼び出しパラメーター:
- fname:文字列、マッピングパスを指定し、デフォルトですべてのキャッシュをクリアします
watch
ファイルを観察し、対応するウォッチャーオブジェクトを返します
1static FSWatcher fs.watch(String fname);
呼び出しパラメーター:
- fname:文字列、監視するファイルオブジェクトを指定します
戻り結果:
ファイルを観察し、対応するウォッチャーオブジェクトを返します
1
2static FSWatcher fs.watch(String fname,
Function callback);
呼び出しパラメーター:
- fname:文字列、監視するファイルオブジェクトを指定します
- callback:関数、
(evtType: 'change' | 'rename', filename: string) => any
ファイルオブジェクトが変更されたときの処理コールバック
戻り結果:
ファイルを観察し、対応するウォッチャーオブジェクトを返します
1
2static FSWatcher fs.watch(String fname,
Object options);
呼び出しパラメーター:
- fname:文字列、監視するファイルオブジェクトを指定します
- options:オブジェクト、観測オプション
戻り結果:
サポートされているオプションは次のとおりです。
1
2
3
4
5{
"persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出
"recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录
"encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码
}
ファイルを観察し、対応するウォッチャーオブジェクトを返します
1
2
3static FSWatcher fs.watch(String fname,
Object options,
Function callback);
呼び出しパラメーター:
- fname:文字列、監視するファイルオブジェクトを指定します
- options:オブジェクト、観測オプション
- callback:関数、
(evtType: 'change' | 'rename', filename: string) => any
ファイルオブジェクトが変更されたときの処理コールバック
戻り結果:
サポートされているオプションは次のとおりです。
1
2
3
4
5{
"persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出
"recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录
"encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码
}
watchFile
ファイルを観察し、対応するものを返します StatsWatcher 物体
1
2static StatsWatcher fs.watchFile(String fname,
Function callback);
呼び出しパラメーター:
- fname:文字列、監視するファイルオブジェクトを指定します
- callback:関数、
(curStats: Stats, prevStats: Stats) => any
ファイルオブジェクトの統計が変更されたときの処理コールバック
戻り結果:
ファイルを観察し、対応するものを返します StatsWatcher 物体
1
2
3static StatsWatcher fs.watchFile(String fname,
Object options,
Function callback);
呼び出しパラメーター:
- fname:文字列、監視するファイルオブジェクトを指定します
- options:オブジェクト、観測オプション
- callback:関数、
(curStats: Stats, prevStats: Stats) => any
ファイルオブジェクトの統計が変更されたときの処理コールバック
戻り結果:
サポートされているオプションは次のとおりです。
1
2
3
4
5{
"persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出
"recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录
"encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码
}
unwatchFile
fnameの観察から StatsWatcher コールバックで観察されたすべてのイベントを削除します
1static fs.unwatchFile(String fname);
呼び出しパラメーター:
- fname:文字列、監視するファイルオブジェクトを指定します
戻り結果:
- StatsWatcher 物体
fnameの観察から StatsWatcher観測されたイベントコールバック削除callback
コールバック
1
2static fs.unwatchFile(String fname,
Function callback);
呼び出しパラメーター:
- fname:文字列、監視するファイルオブジェクトを指定します
- callback:関数、削除するコールバック
戻り結果:
- StatsWatcher 物体
コールバックがなくなったとしても StatsWatcher 観測イベントのコールバックでエラーは報告されません
絶え間ない
SEEK_SET
シークモード定数、絶対位置に移動
1const fs.SEEK_SET = 0;
SEEK_CUR
シークモード定数、現在位置の相対位置に移動
1const fs.SEEK_CUR = 1;
SEEK_END
シークモード定数、ファイルの終わりの相対位置に移動します
1const fs.SEEK_END = 2;