Dieser Artikel führt Sie durch die NodejsDateioperationen fs.mkdir und fs.rmdir. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
【Empfohlenes Lernen: „nodejs-Tutorial“】
fs.mkdir("a", function (err) { // 当a不存在的时候直接创建 a/b会报错 if (err) { console.log(err); return; } console.log("success...");//success });
Denken
Schneiden Sie den hinzuzufügenden Pfad gemäß „/“ ab, um einen Array-Cache zu generieren. '/') Nach dem Abfangen wird in der Pfadzeichenfolge currentPath
fs.stat verwendet, um den Status der Datei zu beschreiben. Wenn die Datei nicht vorhanden ist, tritt ein Fehler auf
Ein Fehler ist am Vortag aufgetreten und wurde aufgerufen fs.mkdir (currentPath, nennen
Implementierungsideen
Verwenden Sie „/“ als Basis, um den Pfad in das entsprechende Array zu schneiden, und durchlaufen Sie das Array mit einer for-Schleife
Das existiertSync( ) in der for-Schleife verwendet eine synchrone Methode, um zu erkennen, ob das Verzeichnis vorhanden ist.
Wenn das Verzeichnis existiert, geben Sie true zurück, wenn das Verzeichnis nicht existiert, geben Sie false zurück 3. Es gibt keinen Implementierungscode für fs.mkdir (aktueller Pfad).
Fallverwendung
function mkdir(pathStr, cb) { let pathList = pathStr.split("/"); // 递归调用fs.mkdir let index = 1; function make(err) { if (err) return cb(err); if (index === pathList.length + 1) return cb(); //每次 调用要将上次的已经生成的文件名做下次的目标文件, // 所以 slice(0, index) 第二参数也要 累加 //slice(0, index) 截取后join('/') 成字符串 let currentPath = pathList.slice(0, index++).join("/"); // console.log("pathList.slice(0,index)", pathList.slice(0, index)); fs.stat(currentPath, function (err) { if (err) { fs.mkdir(currentPath, make); console.log({ currentPath }); // 如果不存在,再创建 fs.mkdir(currentPath, make); } else { make(); } }); } make(); }
fs.rmdir erweiterte Version
Serielle Version
fs.stat gibt die spezifischen Informationen der Datei zurück: Dateistatus-Dateiinformationen, Änderungszeit, Erstellungszeit, Verzeichnisstatus; der zweite Parameter im Rückruf von fs.stat dient zum Abrufen des Dateiobjekts, der Objektmethode: isFile, isDirectory isFile direkt fs.unlink(dir, cb); löscht die aktuelle Datei
isDirectory ruft fs.readdir auf, um ein Array von Unterverzeichnissen zurückzugeben
Code-Implementierung
mkdir("a/b/c/d", function (err) { if (err) console.log(err); console.log("success..."); });
const fs = require("fs").promises; //node11后可以直接.promises const { existsSync } = require("fs"); async function mkdir(pathStr, cb) { let pathList = pathStr.split("/"); for (let i = 1; i <= pathList.length; i++) { let currentPath = pathList.slice(0, i).join("/"); if (!existsSync(currentPath)) { await fs.mkdir(currentPath); } } }
Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Programmierunterricht! !
Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über fs.mkdir und fs.rmdir im Nodejs-Dateimodul. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!