Cet article vous donne principalement 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. J'espère que cela aide tout le monde.
Si le répertoire existe, la création échoue
Créer de manière synchrone le répertoire fs.mkdirSync ( chemin, [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~`); } });
Si le répertoire lit Si il y a des sous-répertoires ou des sous-fichiers en dessous, le nom de fichier du sous-répertoire ou du sous-fichier sera utilisé comme élément de tableau de 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 }
méthode fstat pour interroger les informations du fichier
Lorsque vous utilisez la méthode open ou la méthode openSync pour ouvrir un fichier et renvoyer le descripteur de 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)); }) })
résultat 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érifiez si le fichier ou le répertoire existe
Le paramètre est de type booléen La valeur de
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`) } });
modifie l'heure d'accès au fichier et l'heure de modification
fs. utimes(path, atime, mtime, callback(err))
Modifier de manière synchronisée l'heure d'accès au fichier et l'heure de modification fs.utimesSync (chemin, 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 des fichiers ou répertoires
Modifier de manière synchronisée les autorisations des fichiers ou répertoires Permission fs.chmodSync(path, mode);
fs.chmod(path, mode, callback(err ))
le mode représente C'est la taille des autorisations
Les autorisations avant le déclenchement de la méthode fs.chmod sont drwxr-xr- x.
Après le déclenchement de la méthode fs.chmod Les autorisations sont 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 ouvert le fichier à l'aide de la méthode open ou de la méthode openSync et renvoyé le descripteur de fichier, vous pouvez utiliser la méthode fchmod dans le module fs pour modifier les autorisations de lecture et d'écriture du fichier
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~`); }) });
Recommandations associées :
nodeJS Introduction aux exemples de système de fichiers fs
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!