Heim  >  Artikel  >  Web-Frontend  >  Wie implementiert man FS-Dateisystemverzeichnisoperationen und Dateiinformationsoperationen in node.js?

Wie implementiert man FS-Dateisystemverzeichnisoperationen und Dateiinformationsoperationen in node.js?

亚连
亚连Original
2018-06-05 09:21:091677Durchsuche

In diesem Artikel finden Sie eine detaillierte Analyse des fs-Dateisystemverzeichnisbetriebs und der Dateiinformationsbetriebsmethoden in node.js sowie eine detaillierte Codeerklärung. Leser mit Bedarf können darauf zurückgreifen.

Verzeichnisoperation

  • Wenn das Verzeichnis vorhanden ist, schlägt die Erstellung fehl

  • Erstellen Sie synchron das Verzeichnis fs.mkdirSync(path, [Modus])

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

Verzeichnis lesen

  • Wenn das gelesene Verzeichnis Unterverzeichnisse oder Unterdateien enthält, wird das Unterverzeichnis oder Unterverzeichnis angezeigt Dateiname der Unterdatei wird als Array-Element von Dateien verwendet

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

Datei- oder Verzeichnisinformationen anzeigen und ändern

  • Im fs-Modul können Sie die stat-Methode oder die lstat-Methode verwenden, um eine Datei oder ein Verzeichnis anzuzeigen. Der einzige Unterschied besteht darin, dass Sie beim Anzeigen von Informationen zu symbolischen Linkdateien die lstat-Methode verwenden müssen.

  • fs.stat(path, callback(err, stats))

  • fs.lstat(path, callback(err, stats))

Dateiinformationen anzeigen


Synchronisierungsmethode zum Anzeigen von Dateiinformationen 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);
  }
});

Ausführliche Erklärung der Statistiken

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 
}

Die fstat-Methode fragt Dateiinformationen ab

Bei Verwendung der open-Methode oder der openSync-Methode zum Öffnen einer Datei und Geben Sie den Dateideskriptor zurück. Sie können die fstat-Methode im fs-Modul verwenden, um die geöffneten Dateiinformationen abzufragen

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"
}

Überprüfen Sie, ob die Datei oder das Verzeichnis vorhanden ist existiert


Der Parameter ist ein boolescher Wert

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

Ändern Sie die Dateizugriffszeit und die Änderungszeit

  • fs.utimes(path, atime, mtime, callback(err))

  • Synchronisieren Sie die Dateizugriffszeit und Änderungszeit 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~`);
      }
    })

Ändern Sie die Berechtigungen einer Datei oder eines Verzeichnisses

  • Ändern Sie synchron die Berechtigungen einer Datei oder eines Verzeichnisses fs .chmodSync(path, mode);

  • fs.chmod(path, mode, callback(err))

  • mode repräsentiert die Größe von Berechtigungen

  • fs Die Berechtigungen vor dem Auslösen der .chmod-Methode sind drwxr-xr-x.

  • Die Berechtigungen nach der fs.chmod-Methode ausgelöst wird, sind 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~`);
    });
Nachdem Sie die open-Methode oder die openSync-Methode zum Öffnen der Datei und zum Zurückgeben des Dateideskriptors verwendet haben, können Sie die fchmod-Methode verwenden das fs-Modul zum Ändern der Lese- und Schreibberechtigungen der Datei

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

Das Obige habe ich für alle zusammengestellt. Ja, ich hoffe, es wird in Zukunft für alle hilfreich sein.

Verwandte Artikel:

So erstellen Sie eine Anleitung zum Hochladen von Fotos in AngularJS (ausführliche Anleitung)

Anleitung zum Hochladen von Fotos in AngularJS javaScript Wie ändere ich den Standardstil des dynamisch hinzugefügten Li-Elements

in elementui?

Das obige ist der detaillierte Inhalt vonWie implementiert man FS-Dateisystemverzeichnisoperationen und Dateiinformationsoperationen in node.js?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn