ファイルがnodejsに存在するかどうかを検出する方法

青灯夜游
リリース: 2023-01-11 09:20:25
オリジナル
11993 人が閲覧しました

検出方法: 1. "fs.exists(path,callback)" を使用します。 2. "await util.promisify(fs.stat)('file path')" を使用します。 3. "fs.exists(path,callback)" を使用します。アクセス(パス[,モード],コールバック);"。

ファイルがnodejsに存在するかどうかを検出する方法

このチュートリアルの動作環境: Windows7 システム、nodejs バージョン 14.15.4、DELL G3 コンピューター。

#ファイルが存在するかどうかを検出する Nodejs メソッド:

#1. fs.exists

## を使用します。 #exists()関数は、特定のパスの下にファイルが存在するかどうかをテストできます。構文形式:

fs.exists(path, callback)
ログイン後にコピー

path 検出するファイルのパス
  • callback callback
  • callback functionパラメータが存在します。ファイルが存在する場合は true、それ以外の場合は false が含まれます。
  • 注: このメソッドは fs モジュールに属しているため、使用する前に fs モジュールを導入する必要があります (var fs= require(“fs” ) )
現在、fs.exists は廃止されました。さらに、ファイルが直接使用されない場合にのみ存在することを明確にする必要があります。

例:

fs.exists('/etc/passwd', function (exists) {
  util.debug(exists ? "it's there" : "no passwd!");
});
ログイン後にコピー


2. fs.stat を使用します

fs.stat は、ファイル サイズなど、ファイルに関する多くの情報を提供する fs.Stats オブジェクトを返します。作成時間などstats.isDirectory() と stats.isFile() という 2 つのメソッドがあり、ディレクトリであるかファイルであるかを判断するために使用されます。

const stats = await util.promisify(fs.stat)('text1.txt'); 
console.log(stats.isDirectory()); // false 
console.log(stats.isFile()); // true
ログイン後にコピー

ファイルが存在するかどうかだけを確認する場合は、次の fs.access を使用することをお勧めします。

3. fs.access を使用します

fs.access はモード パラメータを受け取り、ファイルが存在するか、読み取り可能か、書き込み可能かどうかを判断します。戻り値は err です。パラメータ。

const file = 'text.txt'; // 检查文件是否存在于当前目录中。
fs.access(file, fs.constants.F_OK, (err) => {
 console.log(`${file} ${err ? '不存在' : '存在'}`);
}); // 检查文件是否可读。
fs.access(file, fs.constants.R_OK, (err) => {
 console.log(`${file} ${err ? '不可读' : '可读'}`); 
}); // 检查文件是否可写。 
fs.access(file, fs.constants.W_OK, (err) => {
 console.log(`${file} ${err ? '不可写' : '可写'}`);
 }); // 检查文件是否存在于当前目录中、以及是否可写。
fs.access(file, fs.constants.F_OK | fs.constants.W_OK, (err) => {
 if (err) {
  console.error( `${file} ${err.code === 'ENOENT' ? '不存在' : '只可读'}`); 
  } else { 
  console.log(`${file} 存在,且可写`); 
  } 
});
ログイン後にコピー

[推奨学習:「

nodejs チュートリアル

」]

以上がファイルがnodejsに存在するかどうかを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート