Heim  >  Artikel  >  Web-Frontend  >  Ein Artikel, der ausführlich erklärt, wie man Dateien in Nodejs liest und schreibt

Ein Artikel, der ausführlich erklärt, wie man Dateien in Nodejs liest und schreibt

青灯夜游
青灯夜游nach vorne
2022-06-28 10:19:232552Durchsuche

Wie bearbeite ich Dateien in

Node? Im folgenden Artikel geht es um die Verwendung von Nodejs zum Lesen und Schreiben von Dateien. Ich hoffe, er wird Ihnen hilfreich sein!

Ein Artikel, der ausführlich erklärt, wie man Dateien in Nodejs liest und schreibt

Das Manipulieren von Dateien ist eine Grundfunktion des Servers und eine der notwendigen Fähigkeiten für die Backend-Entwicklung.

Das Bearbeiten von Dateien umfasst hauptsächlich Lesen und Schreiben. Und diese Funktionen Nodejs haben bereits entsprechende Methoden bereitgestellt. Rufen Sie es einfach an.

Ordner erstellen

Synchronisierungsmethode

const fs = require('fs')
fs.mkdirSync(`${__dirname}/雷猴`)

NodeJS hat ein Dateimodul namens fs . Um Dateien zu bearbeiten, muss dieses Modul zuerst eingeführt werden. NodeJS 有一个文件模块,叫 fs 。对文件操作的话,必须先引入这个模块。

使用 fs.mkdirSync 方法可以创建一个文件夹。里面传入要创建的文件夹的名字即可。

__dirname  指的是当前文件所在文件夹的绝对路径。

异步创建

const fs = require('fs')
fs.mkdir(`${__dirname}/雷猴`, err => {
  if (err) {
      console.error(err)
  }
})

使用 fs.mkdir 方法可以进行异步创建,第一个参数也是文件夹名称,第二个是回到函数,该函数里有一个 err 参数,可以返回错误信息。

删除文件

创建完文件夹,本来是想讲 “删除文件夹” 的。但由于删除文件夹之前要清空里面所有文件,所以就把 删除文件 的用法放在前面讲。

删除文件分 同步异步 两种方法。

同步 fs.unlinkSync

const fs = require('fs')
fs.unlinkSync(`${__dirname}/test.txt`);

fs.unlinkSync 里传入要删除的文件路径和文件名,即可删除指定文件。

异步 fs.unlink

const fs = require('fs')
fs.unlink(`${__dirname}/test.txt`, err => {
  if (err) {
      console.error(err)
  }
})

fs.unlink 方法有2个参数,第一个参数是文件路径和文件名,第二个参数是监听删除失败的回调函数。

删除文件夹

删除文件夹之前要清空目标文件夹里的所有文件。 可以使用 fs.unlinkSyncfs.unlink 删除文件。

同步

const fs = require('fs')
fs.rmdirSync(`${__dirname}/雷猴`)

异步

const fs = require('fs')
fs.rmdir(`${__dirname}/雷猴`, err => {
  if (err) {
      console.error(err)
  }
})

和删除文件的用法差不多,删除文件夹的方法也有同步和异步,异步接受2个参数,第二个参数同样是监听报错的回调。

写入数据

const fs = require('fs')
const content = ' 雷猴雷猴\n'
const opt = {
  flag: 'a', // a:追加写入;w:覆盖写入
}

fs.writeFile('test.txt', content, opt, (err) => {
  if (err) {
      console.error(err)
  }
})

fs.writeFile 方法可以将内容写入文件中。如果文件不存在,会自动创建文件。

fs.writeFile 参数说明:

  • 第一个参数:文件名
  • 第二个参数:写入的内容
  • 第三个参数:写入模式(追加、覆盖等)
  • 第四个参数:错误信息监听

读取数据

const fs = require('fs')
fs.readFile('fileName', (err, data) => {
  if (err) {
      console.error(err)    
      return
  }  
  // data 是二进制类型,需要转换成字符串  
  console.log(data.toString())
})

使用 fs.readFile 方法可以读取数据,第一个参数是文件名;第二个参数是回调,err 监听错误信息,data 是读取回来的数据。

需要注意的是,读取回来的 data 是一个二进制类型的数据,需要使用 toString() 方法转换成我们读得懂的数据。

检查文件是否存在

const fs = require('fs')
const exist = fs.existsSync('fileName')
console.log(exist)

使用 fs.existsSync 方法可以检测指定文件是否存在,如果存在就返回 true ;否则返回 false

总结

如果你使用 NodeJS

Verwenden Sie die Methode fs.mkdirSync, um einen Ordner zu erstellen. Geben Sie einfach den Namen des zu erstellenden Ordners ein.

__dirname bezieht sich auf den absoluten Pfad des Ordners, in dem sich die aktuelle Datei befindet.

Asynchrone Erstellung

🎜rrreee🎜Verwenden Sie die Methode fs.mkdir, um asynchron zu erstellen, und der zweite Parameter ist die Rückgabefunktion Der Parameter err kann Fehlerinformationen zurückgeben. 🎜🎜🎜Dateien löschen🎜🎜🎜Nach dem Erstellen des Ordners wollte ich ursprünglich über „Ordner löschen“ sprechen. Da Sie jedoch vor dem Löschen alle Dateien im Ordner löschen müssen, wird zunächst die Verwendung von „Dateien löschen“ besprochen. 🎜🎜Das Löschen von Dateien ist in zwei Methoden unterteilt: 🎜synchron🎜 und 🎜asynchron🎜. 🎜🎜🎜Synchronisation fs.unlinkSync🎜🎜rrreee🎜fs.unlinkSync Geben Sie den Dateipfad und den Dateinamen ein, die gelöscht werden sollen, um die angegebene Datei zu löschen. 🎜🎜🎜Asynchrone fs.unlink🎜🎜rrreee🎜fs.unlink-Methode hat zwei Parameter. Der erste Parameter ist der Dateipfad und der Dateiname, und der zweite Parameter ist die Rückruffunktion, die Löschfehler überwacht. 🎜🎜🎜Ordner löschen🎜🎜🎜🎜Bevor Sie einen Ordner löschen, löschen Sie alle Dateien im Zielordner. 🎜 Sie können fs.unlinkSync oder fs.unlink verwenden, um Dateien zu löschen. 🎜🎜🎜Synchronous🎜🎜rrreee🎜🎜Asynchronous🎜🎜rrreee🎜 Es ​​gibt auch synchrone und asynchrone Methoden zum Löschen von Ordnern. Asynchronous akzeptiert 2 Parameter, und der zweite Parameter ist auch ein Rückruf für die Überwachung von Fehlerberichten. 🎜🎜🎜Daten schreiben🎜🎜rrreee🎜fs.writeFile-Methode kann Inhalte in eine Datei schreiben. Wenn die Datei nicht existiert, wird sie automatisch erstellt. 🎜🎜fs.writeFile Parameterbeschreibung: 🎜
  • Erster Parameter: Dateiname
  • Zweiter Parameter: geschriebener Inhalt
  • Der dritte Parameter: Schreibmodus (Anhängen, Überschreiben usw.)
  • Der vierte Parameter: Fehlermeldungsüberwachung
🎜🎜Daten lesen🎜🎜rrreee🎜Verwendenfs.readFile Die Methode code> kann Daten lesen. Der zweite Parameter ist der Rückruf. data ist der Rückruf. 🎜🎜Es ist zu beachten, dass die zurückgelesenen Daten ein binärer Datentyp sind und in Daten umgewandelt werden müssen, die wir mit der Methode toString() verstehen können. 🎜🎜🎜Überprüfen Sie, ob die Datei existiert🎜🎜rrreee🎜Verwenden Sie die Methode fs.exists, um zu überprüfen, ob die angegebene Datei vorhanden ist, geben Sie andernfalls true zurück false . 🎜🎜🎜Zusammenfassung🎜🎜🎜Wenn Sie <code>NodeJS als Backend verwenden, können Sie sich der Kenntnis des Lesens und Schreibens von Dateien nicht entziehen. Seine häufigste Funktion ist das Schreiben von Protokollen, z. B. das Sammeln von Fehlerprotokollen usw. 🎜🎜Wir können auch Protokolle in die Datenbank schreiben, aber nicht auf allen Computern ist die gleiche Datenbank installiert. Wenn Sie das Protokoll jedoch in eine Datei schreiben, kann der Inhalt der Datei im Allgemeinen problemlos auf anderen Computern geöffnet werden. 🎜🎜Weitere Informationen zu Knoten finden Sie unter: 🎜nodejs-Tutorial🎜! 🎜

Das obige ist der detaillierte Inhalt vonEin Artikel, der ausführlich erklärt, wie man Dateien in Nodejs liest und schreibt. 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