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 ?

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 ?

亚连
亚连original
2018-06-05 09:21:091655parcourir

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.

Opération sur le répertoire

  • 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~`);
  }
});

Lire le répertoire

  • 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))

Afficher les informations sur le fichier

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é)

Comment participer javaScript Comment modifier le style par défaut de l'élément Li ajouté dynamiquement

dans elementui ?

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