Maison > Article > interface Web > Comment implémenter les opérations de répertoire du système de fichiers fs et les opérations d'informations sur les fichiers dans node.js ?
Cet article vous donne une analyse détaillée du fonctionnement du répertoire du système de fichiers fs et des méthodes de fonctionnement des informations sur les fichiers dans node.js, ainsi qu'une explication détaillée du code. Les lecteurs dans le besoin peuvent s'y référer.
Si le répertoire existe, la création échoue
Créez le répertoire de manière synchrone fs.mkdirSync(path, [ mode])
const fs = require('fs'); let mkdir = './mkdir'; fs.mkdir(mkdir, (err) => { if (err) { console.log(`mkdir ${mkdir} file failed~`); } else { console.log(`mkdir ${mkdir} file success~`); } });
S'il y a des sous-répertoires ou des sous-fichiers dans le répertoire en cours de lecture, ils seront Le fichier le nom du répertoire ou du sous-fichier est utilisé comme élément de tableau des fichiers
Lire de manière synchrone le répertoire fs.readdirSync()
const fs = require('fs'); let mkdir = './mkdir'; fs.mkdir(mkdir, (err) => { if (err) { console.log(`mkdir ${mkdir} file failed~`); return false; } console.log(`mkdir ${mkdir} file success~`); let fileName = ['ONE', 'TWO', 'THREE']; fileName.forEach((elem) => { fs.mkdir(`${mkdir}/${elem}`, (err) => { if (err) { console.log(`${mkdir}/${elem} failed~`); return false; } }); fs.readdir(mkdir, (err, files) => { if (err) { console.log(`readdir ${mkdir} file failed~`); return false; } console.log(`readdir ${mkdir} file success~`); console.log(`${files}`); }); }); });
Afficher et modifier les informations d'un fichier ou d'un répertoire
Dans le module fs, vous pouvez utiliser la méthode stat ou la méthode lstat pour afficher un fichier ou un répertoire. La seule différence est que lors de l'affichage des informations sur les fichiers de liens symboliques, vous devez utiliser la méthode lstat.
fs.stat(chemin, rappel(erreur, statistiques))
fs.lstat(chemin, rappel(erreur, statistiques))
Méthode de synchronisation pour afficher les informations sur le fichier fs.statSync(path);
const fs = require('fs'); let mkdir = './mkdir'; fs.stat(mkdir, (err, stats) => { if (err) { console.log(`fs.stats ${mkdir} file failed~`); } else { console.log(`fs.stats ${mkdir} file success~`); console.log(stats); } });
Explication détaillée des statistiques
Stats { dev: 2050,文件或目录所在的设备ID,仅在UNIX有效 mode: 16877,使用数值形式代表的文件或目录的权限标志 nlink: 3,文件或目录的硬连接数量 uid: 0,文件或目录的所有者的用户ID,仅在UNIX有效 gid: 0,文件或目录的所有者的用户组ID,仅在UNIX有效 rdev: 0,为字符设备文件或块设备文件所在设备ID,仅在UNIX有效 blksize: 4096, ino: 4197533,文件或目录的索引编号,仅在UNIX有效 size: 4096,文件尺寸,即文件中的字节数 blocks: 8, atimeMs: 1511846425357.986, mtimeMs: 1511846425256.986, ctimeMs: 1511846425256.986, birthtimeMs: 1511846425256.986, atime: 2017-11-28T05:20:25.358Z,文件的访问时间 mtime: 2017-11-28T05:20:25.257Z,文件的修改时间 ctime: 2017-11-28T05:20:25.257Z,文件的创建时间 birthtime: 2017-11-28T05:20:25.257Z }
La méthode fstat interroge les informations du fichier
Utilisez la méthode open ou la méthode openSync pour ouvrez le fichier et renvoyez le caractère de description du fichier, vous pouvez utiliser la méthode fstat dans le module fs pour interroger les informations du fichier ouvert
const fs = require('fs'); let mkdir = './mkdir'; fs.open(mkdir, 'r', (err, fd) => { if (err) { console.log(`open ${mkdir} file failed~`); return false; } fs.fstat(fd, (err, stats) => { if (err) { console.log(`fstat ${mkdir} file failed~`); return false; } console.log(JSON.stringify(stats)); }) })
fs.fstat
{ "dev": 1041887651, "mode": 16822, "nlink": 1, "uid": 0, "gid": 0, "rdev": 0, "ino": 4222124650663107, "size": 0, "atimeMs": 1519394418412.3062, "mtimeMs": 1519394418412.3062, "ctimeMs": 1519394418412.3062, "birthtimeMs": 1519394418402.2554, "atime": "2018-02-23T14:00:18.412Z", "mtime": "2018-02-23T14:00:18.412Z", "ctime": "2018-02-23T14:00:18.412Z", "birthtime": "2018-02-23T14:00:18.402Z" }
Vérifier si le fichier ou le répertoire existe
Le paramètre est une valeur de type booléen
const fs = require('fs'); let mkdir = './mkdir'; fs.exists(mkdir, (exits) => { if (exits) { console.log(`${exits}, ${mkdir} file exists`); } else { console.log(`${exits}, ${mkdir} file not exists`) } });
Modifier l'heure d'accès au fichier et l'heure de modification
fs.utimes(path, atime, mtime, callback(err))
Synchroniser l'heure d'accès au fichier et l'heure de modification fs .utimesSync(path, atime, mtime)
// 修改文件访问时间及修改时间都为当前时间 const fs = require('fs'); let mkdir = './mkdir'; fs.utimes(mkdir, new Date(), new Date(), (err) => { if (err) { console.log(`fs.utimes ${mkdir} file failed~`); } else { console.log(`fs.utimes ${mkdir} file success~`); } })
Modifier les autorisations d'un fichier ou d'un répertoire
Modifier de manière synchronisée les autorisations d'un fichier ou d'un répertoire fs.chmodSync( path, mode);
fs.chmod(path, mode, callback(err))
le mode représente la taille de l'autorisation
L'autorisation avant le déclenchement de la méthode fs.chmod est drwxr-xr-x.
L'autorisation après le déclenchement de la méthode fs.chmod est drw-- -----.
const fs = require('fs'); let mkdir = './mkdir'; fs.chmod(mkdirOne, '0600', (err) => { if (err) { console.log(`fs.chmod ${mkdir} file failed`); return false; } console.log(`fs.chmod ${mkdir} file success~`); });
Après avoir utilisé la méthode open ou la méthode openSync pour ouvrez le fichier et renvoyez le descripteur de fichier, vous pouvez utiliser la méthode fchmod dans le module fs pour modifier la lecture et l'écriture du fichier Autorisations
const fs = require('fs'); let mkdir = './mkdir'; fs.open(mkdir, 'r', (err, fd) => { if (err) { console.log(`open file ${mkdir} failed~`); return false; } fs.fchmod(fd, '0600', (err) => { if (err) { console.log(`fs.fchmod ${mkdir} file failed~`); return false; } console.log(`fs.fchmod ${mkdir} file success~`); }) });
Ce qui précède est ce que j'ai compilé pour tout le monde, je l'espère. sera utile à tout le monde à l’avenir.
Articles associés :
Comment créer une instruction pour télécharger des photos dans AngularJS (tutoriel détaillé)
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!