Heim  >  Artikel  >  Web-Frontend  >  Erfahren Sie mehr über das Schreiben von Ordnern in Node.js

Erfahren Sie mehr über das Schreiben von Ordnern in Node.js

青灯夜游
青灯夜游nach vorne
2020-12-07 17:51:363351Durchsuche

Dieser Artikel führt Sie in das Schreiben von Ordnern in Node.js ein. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Erfahren Sie mehr über das Schreiben von Ordnern in Node.js

Verwandte Empfehlungen: „node js Tutorial

fs.Dir & fs.Dirent

fs.Dir ist eine iterierbare Verzeichnis-Stream-Klasse, fs.Dirent ist das Verzeichnis, das durch Durchlaufen von fs.Dir Item erhalten wird , kann eine Datei oder ein Unterverzeichnis im Verzeichnis sein

fs.Dir

  • dir.path: Der schreibgeschützte Pfad des Verzeichnisses
  • dir.read(): Wenn callabck nicht übergeben wird, kehrt die Funktion zurück Promise und liest den Iterator. Nach der Auflösung wird ein Promise zurückgegeben, fs.Dirent oder null (wenn keine weiteren Verzeichniselemente zum Lesen vorhanden sind)
  • dir.close(): Wenn die Callabck-Funktion nicht übergeben wird , Promise wird zurückgegeben und die unterste Ebene des Verzeichnisses wird geschlossen.
fs.opendir

fs.opendir (path[, Optionen], Rückruf) Öffnen Sie ein Verzeichnis und geben Sie das fs.Dir-Objekt zurück
    const fs = require('fs/promises');
    
    async function print(path) {
      const dir = await fs.opendir(path);
      for await (const dirent of dir) {
        console.log(dirent.name);
      }
    }
    print('./').catch(console.error);
  • Sie können dir
  • const fs = require('fs/promises');
    
    async function print(path) {
      const dir = await fs.opendir(path);
      let dirent = await dir.read();
      while (dirent) {
        console.log(dirent.name);
        dirent = await dir.read();
      }
    
      dir.close();
    }
    print('./').catch(console.error);

    fs.readdir

  • fs.readdir(path[, options], callback) liest den Inhalt des Verzeichnisses (err, files ), wobei „Dateien“ der Dateiname im Verzeichnis ist (außer „.“ und „..“)
  • Optionen
  • Kodierung: Standardwert utf8, wenn die Kodierung auf „Puffer“ eingestellt ist ', der zurückgegebene Dateiname ist ein Pufferobjekt

    mit FileTypes: Standardwert false, festgelegt Nachdem er true ist, enthält das Callback-Funktionsdateien-Array das fs.Dirent-Objekt

    const fs = require('fs/promises');
    
    async function print(path) {
      const files = await fs.readdir(path);
      for (const file of files) {
        console.log(file);
      }
    }
    print('./').catch(console.error);

    fs.mkdirfs.opendir(path[, options], callback) 打开一个目录,返回 fs.Dir 对象
    // 创建 /tmp/a/apple 目录,无论是否存在 /tmp 和 /tmp/a 目录。
    fs.mkdir('/tmp/a/apple', { recursive: true }, err => {
      if (err) throw err;
    });

    可以通过 dir.read() 迭代 dir

    const fs = require('fs');
    
    fs.rmdir('./tmp', { recursive: true }, err => console.log);

    fs.readdir

    fs.readdir(path[, options], callback) 读取目录的内容,回调有两个参数 (err, files),其中 files 是目录中的文件名的数组(不包括 '.' 和 '..')
    options

    • encoding:默认值 utf8,如果 encoding 设置为 'buffer',则返回的文件名是 Buffer 对象
    • withFileTypes:默认值 false,设置为 true 后回调函数 files 数组将包含 fs.Dirent 对象
    rrreee

    fs.mkdir

    fs.mkdir(path[, options], callback) 创建目录
    options

    • recursive:默认值 false,设置为 true 时候相当命令 mkdir -p 会把不存在的目录创建
    • mode:默认值 0o777,Windows 不支持
    rrreee

    fs.rmdir

    fs.rmdir(path[, options], callback)
    fs.mkdir(path[, options], callback) Verzeichnis erstellen

    options
    • rekursiv: Der Standardwert ist false, der Befehl mkdir -pCode> erstellt ein Verzeichnis, das nicht existiert. Modus: Der Standardwert ist 0o777, Windows unterstützt ihn nicht. , Optionen], Rückruf) fs.rmdir wird zum Löschen von Ordnern verwendet
    • Optionen
    • rekursiv: Standardwert falsch, wenn wahr, wird eine rekursive Verzeichnislöschung durchgeführt. Im rekursiven Modus wird kein Fehler gemeldet, wenn der Pfad nicht vorhanden ist, und der Vorgang wird bei einem Fehler wiederholt
    retryDelay: Standard 100, die Anzahl der Millisekunden, die zwischen Wiederholungsversuchen nach einer Ausnahme gewartet werden soll. Wenn die rekursive Option nicht wahr ist, wird diese Option ignoriert

    maxRetries: Der Standardwert ist 0 und gibt die Anzahl der Wiederholungsversuche nach Auftreten einer Ausnahme an. Wenn ein EBUSY-, EMFILE-, ENFILE-, ENOTEMPTY- oder EPERM-Fehler auftritt, wird Node.js will Der Vorgang wird bei jedem Versuch mit einem linearen Backoff von retryDelay Millisekunden wiederholt. Wenn „recursive“ den Wert „false“ hat, wird diese Option ignoriert. !

    Das obige ist der detaillierte Inhalt vonErfahren Sie mehr über das Schreiben von Ordnern in Node.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

  • Stellungnahme:
    Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen