Menu
CoddyTech

Eine Datei lesen

Teil des Abschnitts Node.js-Grundlagen der Node.js-Journey von Coddy. Lektion 10 von 24.

Jeder Durchlauf beginnt mit denselben drei Notizen, weil sie nur im Arbeitsspeicher vorhanden sind.

readFileSync(path, 'utf8') aus node:fs liest eine Datei als Zeichenfolge. Eine Notizdatei enthält JSON, ein Textformat für Daten, die wie JavaScript-Arrays und -Objekte geschrieben sind, und JSON.parse wandelt diesen Text in ein Array um. Das Lesen einer Datei, die nicht vorhanden ist, löst einen ENOENT-Fehler aus. Prüfe daher zuerst mit existsSync, ob die Datei existiert.

import { existsSync, readFileSync } from 'node:fs';

const scores = existsSync('scores.json')
    ? JSON.parse(readFileSync('scores.json', 'utf8'))
    : [];
console.log(scores.length);

Ohne 'utf8' erhältst du statt einer Zeichenfolge einen Buffer, also die unverarbeiteten Bytes der Datei.

challenge icon

Aufgabe

Einfach
  • store.js lädt seine Notizen aus notes.json statt aus der festgelegten Liste.
  • Wenn keine notes.json vorhanden ist, startet der Speicher leer und list gibt No notes yet aus.

Führe node notes.js list aus. Führe dann node notes.js clear aus, wodurch die Datei gelöscht wird, und anschließend erneut list. Durch das Zurücksetzen der Dateien wird die Datei wiederhergestellt.

Probier es selbst

// Lade die Notizen aus notes.json statt aus dieser Liste.
const store = {
    notes: ['Buy milk', 'Call Ada', 'Water the plants'],
    add(text) {
        this.notes.push(text);
        return this.notes.length;
    },
};

export default store;
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Node.js-Grundlagen