Heim  >  Artikel  >  Web-Frontend  >  Lassen Sie uns über das fs-Modul und das Pfadmodul im Knoten sprechen

Lassen Sie uns über das fs-Modul und das Pfadmodul im Knoten sprechen

青灯夜游
青灯夜游nach vorne
2022-04-24 21:00:452283Durchsuche

Dieser Artikel führt Sie durch das fs-Dateisystemmodul und das Pfadmodul in node. Ich hoffe, er wird Ihnen hilfreich sein!

Lassen Sie uns über das fs-Modul und das Pfadmodul im Knoten sprechen

fs-Dateisystemmodul

fs-Modul ist ein offizielles Modul, das von Node.js für den Betrieb von Dateien bereitgestellt wird. Es bietet eine Reihe von Methoden und Eigenschaften, um die Dateioperationsanforderungen der Benutzer zu erfüllen.

  • fs.readFile()-Methode, die zum Lesen des Inhalts der angegebenen Datei verwendet wird.
  • fs.writeFile()-Methode, die zum Schreiben des Inhalts in die angegebene Datei verwendet wird. Wenn Sie in JavaScript-Code arbeiten möchten, verwenden Sie die Methode fs Moduldatei müssen Sie sie zuerst mit der folgenden Methode importieren:
 const fs = reuire('fs')

Lesen Sie den Inhalt in der angegebenen Datei

1 Das Syntaxformat von fs.readFile()

Verwenden Sie die Datei fs. Mit der Methode readFile() können Sie den Inhalt der angegebenen Datei lesen. Das Syntaxformat lautet wie folgt:

 fs.readFile(path[, options], callback)
  • Parameter 1: Erforderlicher Parameter, Sie müssen eine Zeichenfolge mit dem Dateipfad angeben, der angibt, welcher Pfad der Datei entspricht gelesen werden.
  • Parameter 2: Optionaler Parameter, der das Codierungsformat zum Lesen der Datei angibt.
  • Parameter 3: Erforderlicher Parameter Nach Abschluss des Dateilesens wird das Leseergebnis über die Rückruffunktion abgerufen.

2. Beispielcode von fs.readFile()

Lesen Sie den Inhalt der angegebenen Datei im utf8-Format und drucken Sie die Werte von err und data:

 const fs = require('fs');
 fs.readFile('hello.txt', 'utf-8', (err, data) => {
     // 判断是否读取成功
     if (err) return console.log(err);
     console.log(data); 
 });

Inhalt in die angegebene Datei schreiben

1. Das Syntaxformat von fs.writeFile()

Verwenden Sie die Methode fs.writeFile(), um Inhalte in die angegebene Datei zu schreiben:

 fs.writeFile(file, data[, options], callback)
  • Parameter 1: Erforderlich Parameter: Sie müssen eine Zeichenfolge mit dem Dateipfad angeben, die den Speicherpfad der Datei angibt.
  • Parameter 2: Erforderlicher Parameter, der den zu schreibenden Inhalt angibt.
  • Parameter 3: Optionaler Parameter, der das Format angibt, in das der Dateiinhalt geschrieben werden soll. Der Standardwert ist utf8.
  • Parameter 4: Erforderlicher Parameter, Rückruffunktion nach Abschluss des Dateischreibens.

2. Beispielcode von fs.writeFile()

 const fs = require('fs');
 fs.writeFile('./hello.txt', 'hello node', (err) => {
     // 判断是否写入成功
     if (err) return console.log(err);
     console.log('写入成功');
 });

Lesen Sie die Namen aller Dateien im angegebenen Verzeichnis

1. Das Syntaxformat von fs.readdir()

Verwenden Sie fs. Die Methode readdir() kann die Namen aller Dateien im angegebenen Verzeichnis lesen. Das Syntaxformat ist wie folgt:

 fs.readdir(path[, options], callback)
  • Parameter 1: Erforderlicher Parameter, der angibt, welches Verzeichnis die Dateinamenliste lesen soll.
  • Parameter 2: Optionaler Parameter, in welchem ​​Format der Dateiname im Verzeichnis gelesen werden soll, der Standardwert ist utf8.
  • Parameter 3: Erforderlicher Parameter, Rückruffunktion nach Abschluss des Lesevorgangs. 2.fs.readdir() Beispielcode

Wenn Sie das fs-Modul zum Bearbeiten von Dateien verwenden und der bereitgestellte Operationspfad ein relativer Pfad ist, der mit ./ oder ../ beginnt, kann es leicht zu Fehlern beim dynamischen Pfadspleißen kommen. Dies liegt daran, dass beim Ausführen des Codes der vollständige Pfad der ausgeführten Datei dynamisch aus dem Verzeichnis gespleißt wird, in dem der Knotenbefehl ausgeführt wird.

Lösung: Wenn Sie das fs-Modul zum Bearbeiten von Dateien verwenden, geben Sie absolute Pfade direkt an und geben Sie keine relativen Pfade an, die mit ./ oder ../ beginnen, um Probleme beim dynamischen Pfadspleißen zu vermeiden.

Hinweis: Verwenden Sie __dirname, um den absoluten Pfad der aktuellen Datei abzurufen. Es bietet eine Reihe von Methoden und Attributen, um den Anforderungen der Benutzer an die Pfadverarbeitung gerecht zu werden.

path.join()-Methode, die zum Zusammenfügen mehrerer Pfadfragmente zu einer vollständigen Pfadzeichenfolge verwendet wird path.basename()-Methode, die zum Parsen des Dateinamens aus der Pfadzeichenfolge verwendet wird

Wenn Sie den Pfad verwenden möchten Um Pfade in JavaScript-Code zu verarbeiten, müssen Sie es zuerst auf folgende Weise importieren:

 const fs = require('fs');
 fs.readdir('./', (err, data) => {
     // 错误处理
     if (err) return console.log(err);
     console.log(data);
 });

Pfadspleißen

path.join()-Syntaxformat

  • Verwenden Sie path Fügen Sie mehrere Pfadfragmente zu einer vollständigen Pfadzeichenfolge zusammen. Das Syntaxformat lautet wie folgt:
  •  const fs = require('fs');
     // 拼接要读取文件的绝对路径
     let filepath = __dirname +'/hello.txt'
     fs.readFile(filepath, 'utf-8', (err, data) => {
         // 判断是否读取成功
         if (err) return console.log(err);
         console.log(data); 
     });
  • Verwenden Sie die Methode path.join(), um mehrere Pfadfragmente zu einer vollständigen Pfadzeichenfolge zusammenzufügen:
  •  const path = require('path')

Erhalten Sie den Dateinamen im path

1. Das Syntaxformat von path.basename()

Verwenden Sie die Methode path.basename(), um den letzten Teil des Pfads abzurufen , das Syntaxformat ist wie folgt:

 path.basename(path[,ext])

  • path  必选参数,表示一个路径的字符串
  • ext  可选参数,表示可选的文件扩展名
  • 返回:  表示路径中的最后一部分

2.path.basename()的代码示例

使用 path.basename() 方法,可以从一个文件路径中,获取到文件的名称部分:

 // 找文件名
 console.log( path.basename('index.html') ); // index.html
 console.log( path.basename('a/b/c/index.html') ); // index.html
 console.log( path.basename('a/b/c/index.html?id=3') ); // index.html?id=3
 console.log(path.basename('/api/getbooks')) // getbooks

获取路径中的文件扩展名

1.path.extname()的语法格式

使用 path.extname() 方法,可以获取路径中的扩展名部分,语法格式如下:

 path.extname(path)
  • path 必选参数,表示一个路径的字符串
  • 返回:  返回得到的扩展名字符串

使用 path.extname() 方法,可以获取路径中的扩展名部分

 // 找字符串中,最后一个点及之后的字符
 console.log( path.extname('index.html') ); // .html
 console.log( path.extname('a.b.c.d.html') ); // .html
 console.log( path.extname('asdfas/asdfa/a.b.c.d.html') ); // .html
 console.log( path.extname('adf.adsf') ); // .adsf

原文地址:https://juejin.cn/post/7088650568150810638

作者:L同学啦啦啦

更多node相关知识,请访问:nodejs 教程

Das obige ist der detaillierte Inhalt vonLassen Sie uns über das fs-Modul und das Pfadmodul im Knoten sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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