モジュール基本モジュール

モジュール fs

ファイルシステム処理モジュール

指示:

1
var fs = require('fs');

注意すべき点:

  • fs.watch(filename)継承からのリターンの実行EventEmitter ウォッチャー、'change'、'changeonly'、'renameonly' の 3 つのイベントをサポートします
  • fs.watchFile(target)しかもfs.unwatchFile(target)ペアで使える
  • fs.watchFile(target) から継承されたものを返します EventEmitterStatsWatcherオブジェクト、呼び出しとfs.unwatchFile(target)同等の呼び出しStatsWatcher.close()
  • Linux 実装の uv 以降fs.watchrecursiveオプション win32 / darwin は安定したサポートです. Linuxfs.watch('/[path](path.md)/to', { recursive: true }, handler)のみ使用を試みることはできますがhandler、コールバック時間が予想と異なる場合があります

オブジェクト

constants

fs モジュールの定数オブジェクト

1
fs_constants fs.constants;

静的関数

exists

指定されたファイルまたはディレクトリが存在するかどうかを問い合わせます

1
static Boolean fs.exists(String path) async;

呼び出しパラメータ:

  • path: 文字列、照会するパスを指定

結果を返す:

  • Boolean、ファイルまたはディレクトリが存在することを示す場合は True を返します

access

指定されたファイルに対するユーザーの権限を照会します

1 2
static fs.access(String path, Integer mode = 0) async;

呼び出しパラメータ:

  • path: 文字列、照会するパスを指定
  • mode: 整数、クエリ権限を指定します。デフォルトはファイルが存在するかどうかです

ハード リンク ファイルを作成します。この方法は Windows ではサポートされていません

1 2
static fs.link(String oldPath, String newPath) async;

呼び出しパラメータ:

  • oldPath: 文字列、ソースファイル
  • newPath: 文字列、作成するファイル

指定したファイルを削除

1
static fs.unlink(String path) async;

呼び出しパラメータ:

  • path: 文字列、削除するパスを指定

mkdir

ディレクトリを作成する

1 2
static fs.mkdir(String path, Integer mode = 0777) async;

呼び出しパラメータ:

  • path: 文字列、作成するディレクトリの名前を指定
  • mode: 整数、ファイルのアクセス許可を指定します。Windows はこのパラメータを無視します。デフォルト値: 0777

ディレクトリを作成する

1 2
static fs.mkdir(String path, Object opt) async;

呼び出しパラメータ:

  • path: 文字列、作成するディレクトリの名前を指定
  • opt: オブジェクト、作成パラメータを指定

作成パラメーターには、次の値を含めることができます。

1 2 3 4
{ recursive: false, // 指定是否父目录不存在是是否自动创建,默认值: false mode: 0777 // 指定文件权限,Windows 忽略此参数,默认值: 0777 }

rmdir

ディレクトリを削除する

1
static fs.rmdir(String path) async;

呼び出しパラメータ:

  • path: 文字列、削除するディレクトリの名前を指定

rename

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

1 2
static fs.rename(String from, String to) async;

呼び出しパラメータ:

  • from: 文字列、名前を変更したファイルを指定します
  • to: 文字列、変更する新しいファイル名を指定します

copyFile

src を dest にコピーします。デフォルトでは、dest がすでに存在する場合は上書きされます。

1 2 3
static 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 2
static fs.chmod(String path, Integer mode) async;

呼び出しパラメータ:

  • path: 文字列、操作ファイルを指定
  • mode: 整数、設定されたアクセス権限を指定します

lchmod

指定されたファイルのアクセス権を設定します。ファイルがソフト リンクの場合、ファイルへのアクセス権は変更されません。これは、macOS および BSD シリーズ プラットフォームでのみ使用できます。

1 2
static fs.lchmod(String path, Integer mode) async;

呼び出しパラメータ:

  • path: 文字列、操作ファイルを指定
  • mode: 整数、設定されたアクセス権限を指定します

chown

指定されたファイルの所有者を設定します。Windows はこの方法をサポートしていません

1 2 3
static fs.chown(String path, Integer uid, Integer gid) async;

呼び出しパラメータ:

  • path:文字列、設定を指定するファイル
  • uid: 整数、ファイル所有者のユーザー ID
  • gid: 整数、ファイル所有者グループ ID

lchown

指定されたファイルの所有者を設定します。指定されたファイルがソフト リンクの場合、参照されたファイルの所有者は変更されません。Windows はこの方法をサポートしていません

1 2 3
static fs.lchown(String path, Integer uid, Integer gid) async;

呼び出しパラメータ:

  • path:文字列、設定を指定するファイル
  • uid: 整数、ファイル所有者のユーザー ID
  • gid: 整数、ファイル所有者グループ ID

stat

指定したファイルの基本情報を問い合わせる

1
static Stat fs.stat(String path) async;

呼び出しパラメータ:

  • path: 文字列、照会するファイルを指定

結果を返す:

  • Stat, ファイルの基本情報を返す

lstat

指定したファイルの基本情報を問い合わせる stat との違いは、pathソフトリンクの場合は、指しているファイルの情報ではなく、ソフトリンクの情報を返します。

1
static Stat fs.lstat(String path) async;

呼び出しパラメータ:

  • path: 文字列、照会するファイルを指定

結果を返す:

  • Stat, ファイルの基本情報を返す

指定されたソフト接続ファイルを読み取ります。この方法は Windows ではサポートされていません

1
static String fs.readlink(String path) async;

呼び出しパラメータ:

  • path: 文字列、読み取るソフト接続ファイルを指定します

結果を返す:

  • String, ソフトリンクが指すファイル名を返す

realpath

指定されたパスの絶対パスを返します。指定されたパスに相対パスが含まれている場合は、それも展開されます

1
static String fs.realpath(String path) async;

呼び出しパラメータ:

  • path: 文字列、読み込むパスを指定

結果を返す:

  • String、処理済みの絶対パスを返す

ソフト接続ファイルの作成

1 2 3
static fs.symlink(String target, String linkpath, String type = "file") async;

呼び出しパラメータ:

  • target: 文字列、ターゲット ファイル、存在しないファイル、ディレクトリ、またはパスを指定できます
  • linkpath: 文字列、作成するソフト リンク ファイル
  • type: 文字列、作成されたソフト接続のタイプ、オプションのタイプは「file」、「dir」、「junction」、デフォルトは「file」、このパラメータは Windows でのみ有効で、「junction」の場合、ターゲットが作成されます パス linkpath は絶対パスである必要があり、ターゲットは自動的に絶対パスに変換されます。

truncate

指定された長さがソース ファイルのサイズよりも大きい場合は、ファイル サイズを変更してください。「\0」を入力してください。そうでない場合は、ファイル コンテンツが失われます。

1 2
static fs.truncate(String path, Integer len) async;

呼び出しパラメータ:

  • path: 文字列、変更されたファイルのパスを指定します
  • len: 整数、変更されたファイルのサイズを指定

read

ファイル記述子に従って、ファイルの内容を読み取ります

1 2 3 4 5
static 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 2
static fs.fchmod(Integer fd, Integer mode) async;

呼び出しパラメータ:

  • fd: 整数、ファイル記述子
  • mode: 整数、ファイルモード

fchown

ファイル記述子に従って、所有者が変更されます。POSIX システムでのみ有効です。

1 2 3
static fs.fchown(Integer fd, Integer uid, Integer gid) async;

呼び出しパラメータ:

  • fd: 整数、ファイル記述子
  • uid: 整数、ユーザー ID
  • gid: 整数、グループ ID

fdatasync

ファイル記述子に従って、データをディスクに同期します

1
static fs.fdatasync(Integer fd) async;

呼び出しパラメータ:

  • fd: 整数、ファイル記述子

fsync

ファイル記述子に従って、データをディスクに同期します

1
static fs.fsync(Integer fd) async;

呼び出しパラメータ:

  • fd: 整数、ファイル記述子

readdir

指定したディレクトリのファイル情報を読み込む

1
static NArray fs.readdir(String path) async;

呼び出しパラメータ:

  • path: 文字列、照会するディレクトリを指定

結果を返す:

  • NArray, ディレクトリのファイル情報配列を返します

openFile

読み取り、書き込み、または読み取りと書き込みを同時に行うためにファイルを開く

1 2
static SeekableStream fs.openFile(String fname, String flags = "r") async;

呼び出しパラメータ:

  • fname: 文字列、ファイル名を指定
  • flags: 文字列、ファイルを開く方法を指定、デフォルトは「r」、読み取り専用

結果を返す:

サポートされているパラメーター フラグのメソッドは次のとおりです。

  • 'r' は読み取り専用で、ファイルが存在しない場合はエラーがスローされます。
  • 'r+' 読み取りおよび書き込みモードでは、ファイルが存在しない場合はエラーがスローされます。
  • wは書き込みのみで、ファイルが存在しない場合は自動で作成、存在する場合はクリアします。
  • 'w+' 読み取りおよび書き込みモードでは、ファイルが存在しない場合は自動的に作成されます。
  • 'a' は追加方法を書くだけで、ファイルが存在しない場合は自動的に作成されます。
  • 'a+' の読み書き追加方法では、ファイルが存在しない場合は自動的に作成されます。

open

ファイル記述子を開く

1 2 3
static Integer fs.open(String fname, String flags = "r", Integer mode = 0666) async;

呼び出しパラメータ:

  • fname: 文字列、ファイル名を指定
  • flags: 文字列、ファイルを開く方法を指定、デフォルトは「r」、読み取り専用
  • mode: 整数、ファイルを作成するとき、ファイルのモードを指定します。デフォルトは 0666

結果を返す:

  • Integer、開いているファイル記述子を返します

サポートされているパラメーター フラグのメソッドは次のとおりです。

  • 'r' は読み取り専用で、ファイルが存在しない場合はエラーがスローされます。
  • 'r+' 読み取りおよび書き込みモードでは、ファイルが存在しない場合はエラーがスローされます。
  • wは書き込みのみで、ファイルが存在しない場合は自動で作成、存在する場合はクリアします。
  • 'w+' 読み取りおよび書き込みモードでは、ファイルが存在しない場合は自動的に作成されます。
  • 'a' は追加方法を書くだけで、ファイルが存在しない場合は自動的に作成されます。
  • 'a+' の読み書き追加方法では、ファイルが存在しない場合は自動的に作成されます。

close

ファイル記述子を閉じる

1
static fs.close(Integer fd) async;

呼び出しパラメータ:

  • fd: 整数、ファイル記述子

openTextStream

読み取り、書き込み、または読み取りと書き込みを同時に行うためにテキスト ファイルを開く

1 2
static BufferedStream fs.openTextStream(String fname, String flags = "r") async;

呼び出しパラメータ:

  • fname: 文字列、ファイル名を指定
  • flags: 文字列、ファイルを開く方法を指定、デフォルトは「r」、読み取り専用

結果を返す:

サポートされているパラメーター フラグのメソッドは次のとおりです。

  • 'r' は読み取り専用で、ファイルが存在しない場合はエラーがスローされます。
  • 'r+' 読み取りおよび書き込みモードでは、ファイルが存在しない場合はエラーがスローされます。
  • wは書き込みのみで、ファイルが存在しない場合は自動で作成、存在する場合はクリアします。
  • 'w+' 読み取りおよび書き込みモードでは、ファイルが存在しない場合は自動的に作成されます。
  • 'a' は追加方法を書くだけで、ファイルが存在しない場合は自動的に作成されます。
  • 'a+' の読み書き追加方法では、ファイルが存在しない場合は自動的に作成されます。

readTextFile

テキストファイルを開いて内容を読む

1
static String fs.readTextFile(String fname) async;

呼び出しパラメータ:

  • fname: 文字列、ファイル名を指定

結果を返す:

  • String、ファイルのテキスト コンテンツを返します

readFile

バイナリ ファイルを開いて内容を読み取ります。

1 2
static Variant fs.readFile(String fname, String encoding = "") async;

呼び出しパラメータ:

  • fname: 文字列、ファイル名を指定
  • encoding: 文字列、デコード方法を指定します。デフォルトではデコードしません

結果を返す:

  • Variant、ファイルのテキスト コンテンツを返します

readLines

ファイルを開いて、配列内のテキスト行のグループを読み取ります。行の終わりは、EOL 属性の設定に基づいて識別されます。デフォルトでは、posix: "\n"; ウィンドウ: "\r\n"

1 2
static Array fs.readLines(String fname, Integer maxlines = -1);

呼び出しパラメータ:

  • fname: 文字列、ファイル名を指定
  • maxlines:整数、今回読み込む最大行数を指定、デフォルトで全てのテキスト行を読み込む

結果を返す:

  • Array、読み取ったテキスト行の配列を返します。読み取るデータがない場合、または接続が中断された場合は、空の配列を返します。

writeTextFile

テキストファイルを作成して内容を書き込む

1 2
static fs.writeTextFile(String fname, String txt) async;

呼び出しパラメータ:

  • fname: 文字列、ファイル名を指定
  • txt: 文字列、書き込む文字列を指定

writeFile

バイナリファイルを作成してコンテンツを書き込む

1 2
static fs.writeFile(String fname, Buffer data) async;

呼び出しパラメータ:

  • fname: 文字列、ファイル名を指定
  • data: Buffer、書き込むバイナリデータを指定

appendFile

バイナリファイルを作成してコンテンツを書き込む

1 2
static fs.appendFile(String fname, Buffer data) async;

呼び出しパラメータ:

  • fname: 文字列、ファイル名を指定
  • data: Buffer、書き込むバイナリデータを指定

setZipFS

セットアップ zip 仮想ファイル マッピング

1 2
static fs.setZipFS(String fname, Buffer data);

呼び出しパラメータ:

  • fname: 文字列、マッピング パスを指定します
  • data: Buffer、マッピングされた zip ファイルデータ

clearZipFS

晴れ zip 仮想ファイル マッピング

1
static fs.clearZipFS(String fname = "");

呼び出しパラメータ:

  • fname: 文字列、マッピング パスを指定、デフォルトですべてのキャッシュをクリア

watch

ファイルを監視し、対応するウォッチャー オブジェクトを返します

1
static FSWatcher fs.watch(String fname);

呼び出しパラメータ:

  • fname: 文字列、監視するファイル オブジェクトを指定します

結果を返す:


ファイルを監視し、対応するウォッチャー オブジェクトを返します

1 2
static FSWatcher fs.watch(String fname, Function callback);

呼び出しパラメータ:

  • fname: 文字列、監視するファイル オブジェクトを指定します
  • callback: 関数、(evtType: 'change' | 'rename', filename: string) => anyファイルオブジェクトが変更されたときの処理コールバック

結果を返す:


ファイルを監視し、対応するウォッチャー オブジェクトを返します

1 2
static 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 3
static 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 2
static StatsWatcher fs.watchFile(String fname, Function callback);

呼び出しパラメータ:

  • fname: 文字列、監視するファイル オブジェクトを指定します
  • callback: 関数、(curStats: Stats, prevStats: Stats) => anyファイル オブジェクトの統計が変更されたときの処理コールバック

結果を返す:


ファイルを観察し、対応する StatsWatcher オブジェクト

1 2 3
static 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 コールバックで観察されたすべてのイベントを削除します

1
static fs.unwatchFile(String fname);

呼び出しパラメータ:

  • fname: 文字列、監視するファイル オブジェクトを指定します

結果を返す:


fnameの観察から StatsWatcher観測されたイベントコールバック削除callbackコールバック

1 2
static fs.unwatchFile(String fname, Function callback);

呼び出しパラメータ:

  • fname: 文字列、監視するファイル オブジェクトを指定します
  • callback: 関数、削除するコールバック

結果を返す:

コールバックがなくなっても StatsWatcher 監視イベントのコールバックでエラーは報告されません

絶え間ない

SEEK_SET

シークモード定数、絶対位置へ移動

1
const fs.SEEK_SET = 0;

SEEK_CUR

シークモード定数、現在位置の相対位置に移動

1
const fs.SEEK_CUR = 1;

SEEK_END

シークモード定数、ファイル末尾の相対位置に移動

1
const fs.SEEK_END = 2;