Maison >interface Web >js tutoriel >Comment faire fonctionner les fichiers fs dans node.js

Comment faire fonctionner les fichiers fs dans node.js

小云云
小云云original
2018-02-26 09:26:191503parcourir

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.

Opération de répertoire

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

Lire le répertoire

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

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 
}

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 :

Solution dans node.js La méthode du module fs lisant et écrivant de manière asynchrone les résultats de synchronisation

Explication détaillée des exemples d'opérations de lecture et d'écriture de fichiers basés sur le module principal fs basé sur node.js

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!

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