Wie verwendet Node.js das Dateisystemmodul? Einführung in häufig verwendete FS-Modulmethoden

青灯夜游
Freigeben: 2021-08-24 09:37:09
nach vorne
2694 Leute haben es durchsucht

Dieser Artikel führt Sie durch das Dateisystemmodul inNode.js, stellt die Verwendung des Dateisystemmoduls (FS-Modul) vor und stellt einige der gebräuchlichsten und nützlichsten FS-Methoden vor.

Wie verwendet Node.js das Dateisystemmodul? Einführung in häufig verwendete FS-Modulmethoden

Das Dateisystemmodul (kurzfs) ermöglicht uns den Zugriff auf das Dateisystem auf unserem Computer und die Interaktion mit diesem. [Empfohlenes Lernen: „nodejs Tutorialfs)允许我们访问计算机上的文件系统并与之交互。【推荐学习:《nodejs 教程》】

使用fs模块,我们可以执行以下操作:

  • 创建文件和目录
  • 修改文件和目录
  • 删除文件和目录
  • 读取文件和目录的内容
  • ...

建议:文件系统模块比较复杂,建议查看官方文档,你可以看到所有的方法。

本文将向您介绍最常见和最有用的fs方法。事不宜迟,让我们看看这些方法是什么。

如何使用fs

文件系统模块是一个核心的 Node.js 模块。这意味着我们不必安装它。我们唯一需要做的就是将fs模块导入到自己的文件中。

因此,在文件顶部添加:

const fs = require('fs')
Nach dem Login kopieren

现在,我们可以使用前缀fs从文件系统模块调用任何方法。

或者,我们可以只从fsAPI 导入所需的方法,如下所示:

const { writeFile, readFile } = require('fs')
Nach dem Login kopieren

注意:为了方便起见,我们还需要导入path模块。它是另一个核心 Node.js 模块,它允许我们使用文件和目录路径。

导入fs模块后,在文件中添加:

const path = require('path')
Nach dem Login kopieren

使用文件系统模块时,path模块不是必需的。但它对我们有很大的帮助!

同步与异步

需要注意的是,默认情况下,所有fs方法都是异步的。但是,我们可以通过在方法末尾添加Sync来使用同步版本。

例如,writeFile方法的同步版本为writeFileSync。同步方法将同步的完成代码,因此它们阻塞了主线程。阻塞 Node.js 中的主线程被认为是不好的做法,我们不应该这么做。

因此,以下我们都将使用文件系统模块中的异步方法。

写入文件

要从 Node.js 应用程序写入文件,请使用writeFile方法。

writeFile方法至少接受以下参数:

  • 文件名
  • 内容
  • 回调

如果指定的文件已经存在,它会将旧内容替换为您作为参数提供的内容。如果指定的文件不存在,则创建一个新文件。

导入fspath模块后,在文件中编写以下代码:

fs.writeFile('content.txt', 'All work and no play makes Jack a dull boy!', err => { if (err) throw err process.stdout.write('创建成功!') })
Nach dem Login kopieren

上面的代码将创建了一个名为content.txt的新文件,并添加了文本All work and no play makes Jack a dull boy!作为内容。如果存在任何错误,回调函数将抛出该错误。否则,它将向控制台输出文件创建成功。

writeFile还有其他变体,例如:

  • fs.writeFileSync— 同步写入文件
  • fsPromises.writeFile— 使用基于 Promise 的 API 写入文件

查看此要点:https://gist.github.com/catalinpit/571ba06c06214b5c8744036c6500af92

从文件中读取

在读取文件之前,需要创建并存储文件的路径。path模块的路径在这里很方便。

使用join模块中的path方法,您可以创建文件路径,如下所示:

const filePath = path.join(process.cwd(), 'content.txt')
Nach dem Login kopieren

第一个参数process.cwd()返回当前工作目录。现在您已经有了文件路径,可以读取文件的内容了。

在文件中编写以下代码:

fs.readFile(filePath, (error, content) => { if (error) throw error process.stdout.write(content) })
Nach dem Login kopieren

readFile方法至少接受两个参数:

  • 文件的路径
  • 回调

如果有错误,它会抛出一个错误。否则,它会在终端中输出文件内容。

readFile还有其他变体,例如:

  • fs.readFileSync— 同步写入文件
  • fsPromises.readFile"]
Verwenden Sie fs-Modul können wir die folgenden Vorgänge ausführen:
Dieser Artikel stellt Ihnen die gebräuchlichsten und nützlichstenfs-Methoden vor. Lassen Sie uns ohne weitere Umschweife sehen, was diese Methoden sind.

So verwenden Siefs

Das Dateisystemmodul ist ein Kernmodul von Node.js. Das bedeutet, dass wir es nicht installieren müssen. Das Einzige, was wir tun müssen, ist, dasfs-Modul in eine eigene Datei zu importieren. Also am Anfang der Datei hinzufügen:
fs.readdir(process.cwd(), (error, files) => { if (error) throw error console.log(files) })
Nach dem Login kopieren
Nach dem Login kopieren
Jetzt können wir jede Methode aus dem Dateisystemmodul mit dem Präfixfsaufrufen. Alternativ können wir die erforderlichen Methoden einfach wie folgt aus derfs-API importieren:
fs.unlink(filePath, error => { if (error) throw error console.log('文件已删除!') })
Nach dem Login kopieren
Nach dem Login kopieren
HINWEIS: Der Einfachheit halber müssen wir auch denpfad importierenModul. Es ist ein weiteres Kernmodul von Node.js, das es uns ermöglicht, mit Datei- und Verzeichnispfaden zu arbeiten.Fügen Sie nach dem Importieren desfs-Moduls Folgendes in die Datei ein:
fs.mkdir(`${process.cwd()}/myFolder/secondFolder`, { recursive: true }, (err) => { if (err) throw err console.log('已成功创建文件夹!') })
Nach dem Login kopieren
Nach dem Login kopieren
Daspath-Modul ist bei Verwendung des Dateisystemmoduls nicht erforderlich. Aber es hilft uns sehr!

Synchronisation und asynchron

Es ist zu beachten, dassstandardmäßig allefs-Methoden asynchron sind . Wir können jedoch die synchronisierte Version verwenden, indem wir am Ende der MethodeSynchinzufügen. Zum Beispiel ist die synchrone Version der MethodewriteFilewriteFileSync. Synchrone Methoden vervollständigen den Code synchron, sodass sie den Hauptthread blockieren. Das Blockieren des Hauptthreads in Node.js gilt als schlechte Praxis und sollte nicht getan werden. Im Folgenden werden wir alle die asynchronen Methoden im Dateisystemmodul verwenden.

Datei schreiben

Um eine Datei aus einer Node.js-Anwendung zu schreiben, verwenden Sie die MethodewriteFile.writeFile-Methode akzeptiert mindestens die folgenden Parameter:
Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!