Maison >interface Web >Questions et réponses frontales >Comment détecter si un fichier existe dans nodejs

Comment détecter si un fichier existe dans nodejs

青灯夜游
青灯夜游original
2021-09-15 17:57:0812026parcourir

Méthode de détection : 1. Utilisez "fs.exists(path,callback)" ; 2. Utilisez "await util.promisify(fs.stat)('file path')" ; ,mode],rappel);".

Comment détecter si un fichier existe dans nodejs

L'environnement d'exploitation de ce tutoriel : système windows7, nodejs version 14.15.4, ordinateur DELL G3.

Méthode Nodejs pour détecter si un fichier existe :

1. Utilisez la fonction fs.exists

exists() pour tester si un fichier sous un certain chemin existe. Format de grammaire :

fs.exists(path, callback)
  • path Le chemin du fichier à détecter

  • callback La fonction de rappel contient un paramètre existe, vrai si le fichier existe, sinon faux.

    Remarque : Puisque cette méthode appartient au module fs, le module fs doit être introduit avant utilisation (var fs= require("fs") )
Actuellement, fs.exists a été abandonné de plus. , il doit être clair que uniquement dans le fichier Vérifiez si le fichier existe uniquement lorsqu'il n'est pas utilisé directement

Exemple :

fs.exists('/etc/passwd', function (exists) {
  util.debug(exists ? "it's there" : "no passwd!");
});

2 Utilisez fs.stat

fs.stat pour renvoyer un fs. Objet Stats, qui fournit de nombreuses informations sur le fichier, telles que la taille du fichier, l'heure de création, etc. Il existe deux méthodes, stats.isDirectory() et stats.isFile(), qui sont utilisées pour déterminer s'il s'agit d'un répertoire ou d'un fichier.

const stats = await util.promisify(fs.stat)('text1.txt'); 
console.log(stats.isDirectory()); // false 
console.log(stats.isFile()); // true
Si vous souhaitez simplement vérifier si le fichier existe, il est recommandé d'utiliser le fs.access ci-dessous.

3. Utilisez fs.access

fs.access pour recevoir un paramètre de mode afin de déterminer si un fichier existe, s'il est lisible et s'il est accessible en écriture.

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} 存在,且可写`); 
  } 
});
【Apprentissage recommandé : "

Tutoriel Nodejs

"】

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn