Node FS – NodeJS Datei erstellen, Datei lesen, in Datei schreiben

Node FS – Dateien in NodeJS erstellen, lesen und bearbeiten

Das Node.js-Modul fs (File System) stellt eine umfassende Palette an Funktionen bereit, um Interaktionen mit dem Dateisystem zu ermöglichen. Diese Bibliothek vereinfacht die Arbeit mit Dateien und Verzeichnissen, wodurch die Entwicklung von Anwendungen, die Dateioperationen benötigen, erheblich erleichtert wird. In diesem detaillierten Leitfaden beleuchten wir die Kernfunktionen des fs-Moduls und zeigen, wie Sie damit Dateien erstellen, einlesen und modifizieren können.

Grundlegende Dateioperationen in Node.js

Das fs-Modul stellt eine Reihe von Methoden für die Handhabung von Dateien und Verzeichnissen zur Verfügung. Die wichtigsten Funktionen sind:

  • fs.writeFile() – Erstellt eine neue Datei oder überschreibt eine bereits existierende.
  • fs.readFile() – Liest den Inhalt einer bestimmten Datei ein.
  • fs.appendFile() – Fügt neuen Inhalt am Ende einer Datei hinzu.
  • fs.unlink() – Löscht eine Datei.
  • fs.mkdir() – Erstellt ein neues Verzeichnis.
  • fs.rmdir() – Löscht ein Verzeichnis.

Dateien erstellen mit Node.js

Um eine neue Datei anzulegen, nutzen Sie die Methode fs.writeFile(). Sie benötigt zwei Parameter:

  • filename – Der Name der zu erstellenden Datei.
  • data – Der Inhalt, der in die Datei geschrieben wird.

Das folgende Beispiel zeigt, wie Sie eine Datei namens test.txt mit dem Text „Hallo Welt“ anlegen:


const fs = require('fs');

fs.writeFile('test.txt', 'Hallo Welt', (err) => {
  if (err) throw err;
  console.log('Die Datei wurde erfolgreich erstellt!');
});

Dateien einlesen

Mit der Funktion fs.readFile() können Sie den Inhalt einer Datei auslesen. Sie benötigt folgende Parameter:

  • filename – Der Name der Datei, die gelesen werden soll.
  • callback – Eine Funktion, die mit dem Inhalt der Datei als Argument aufgerufen wird.

Hier ist ein Beispiel, das den Inhalt der Datei test.txt ausgibt:


const fs = require('fs');

fs.readFile('test.txt', 'utf8', (err, data) => {
  if (err) throw err;
  console.log(data);
});

In Dateien schreiben

Die Methode fs.appendFile() erlaubt es Ihnen, neue Daten am Ende einer existierenden Datei anzufügen. Benötigte Argumente sind:

  • filename – Der Name der Datei, an die angehängt werden soll.
  • data – Die Daten, die am Ende der Datei hinzugefügt werden.

Hier ist ein Beispiel, das neuen Text an die Datei test.txt anfügt:


const fs = require('fs');

fs.appendFile('test.txt', ' Dies ist zusätzlicher Text!', (err) => {
  if (err) throw err;
  console.log('Zusätzlicher Inhalt wurde angehängt!');
});

Dateien löschen

Um eine Datei zu löschen, verwenden Sie die Funktion fs.unlink(). Sie benötigt nur einen Parameter:

  • filename – Der Name der Datei, die gelöscht werden soll.

Das folgende Beispiel zeigt, wie die Datei test.txt gelöscht wird:


const fs = require('fs');

fs.unlink('test.txt', (err) => {
  if (err) throw err;
  console.log('Datei erfolgreich gelöscht!');
});

Verzeichnisse erstellen

Mit fs.mkdir() können Sie neue Verzeichnisse erstellen. Diese Methode akzeptiert zwei Argumente:

  • dirname – Der Name des zu erstellenden Verzeichnisses.
  • callback – Eine Funktion, die aufgerufen wird, wenn das Verzeichnis erstellt wurde.

Das folgende Beispiel demonstriert die Erstellung eines Verzeichnisses namens my-directory:


const fs = require('fs');

fs.mkdir('my-directory', (err) => {
  if (err) throw err;
  console.log('Verzeichnis wurde erstellt!');
});

Verzeichnisse löschen

Um ein Verzeichnis zu löschen, verwenden Sie die Methode fs.rmdir(), die ein Argument benötigt:

  • dirname – Der Name des Verzeichnisses, das entfernt werden soll.

Das folgende Beispiel veranschaulicht, wie das Verzeichnis my-directory gelöscht wird:


const fs = require('fs');

fs.rmdir('my-directory', (err) => {
  if (err) throw err;
  console.log('Verzeichnis erfolgreich gelöscht!');
});

Zusammenfassung

Das fs-Modul in Node.js bietet eine unkomplizierte und effektive Methode, um Dateien und Verzeichnisse zu verwalten. Mit den hier beschriebenen Funktionen sind Sie in der Lage, leistungsstarke Anwendungen zu entwickeln, die komplexe Dateiverarbeitung durchführen können.

Häufig gestellte Fragen (FAQ)

1. Ist es möglich, asynchrone Dateischreibvorgänge zu nutzen?
Ja, nutzen Sie die asynchronen Varianten von fs.writeFile(), indem Sie einen Callback oder ein Promise übergeben.

2. Wie ermittle ich die Dateigröße?
Verwenden Sie fs.stat(), um die Größe einer Datei in Bytes zu erhalten.

3. Wie benenne ich eine Datei um?
Die Funktion fs.rename() ist hierfür geeignet.

4. Wie verschiebe ich eine Datei?
Nutzen Sie eine Kombination aus fs.rename() und fs.mkdir(), um Dateien in andere Verzeichnisse zu verschieben.

5. Wie kopiere ich eine Datei?
Verwenden Sie fs.createReadStream() und fs.createWriteStream(), um eine Datei zu kopieren.

6. Wie streame ich Dateien?
Das fs-Modul bietet fs.createReadStream() und fs.createWriteStream() für das Streamen von Dateien.

7. Wie kann ich Dateien synchron bearbeiten (erstellen, lesen, schreiben)?
Sie können die synchronen Varianten von fs.writeFile(), fs.readFile() und fs.appendFile() verwenden, aber beachten Sie, dass diese Operationen blockierend wirken.

8. Wie kann ich auf Dateien in einer Netzwerkfreigabe zugreifen?
Verwenden Sie das Modul fs-extra, das spezielle Funktionen für Netzwerkfreigaben mitbringt.