Menu
CoddyTech

Lire un fichier

Fait partie de la section Les bases de Node.js du Journey Node.js de Coddy. Leçon 10 sur 24.

Chaque exécution commence avec les mêmes trois notes, car elles résident uniquement en mémoire.

readFileSync(path, 'utf8') de node:fs lit un fichier sous forme de chaîne de caractères. Un fichier de notes contient du JSON, un format texte pour les données écrites comme des tableaux et des objets JavaScript, et JSON.parse transforme ce texte en tableau. La lecture d’un fichier inexistant déclenche une erreur ENOENT ; vérifie donc d’abord avec existsSync.

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

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

Sans 'utf8', tu obtiens un Buffer, c’est-à-dire les octets bruts du fichier, au lieu d’une chaîne de caractères.

challenge icon

Défi

Facile
  • store.js charge ses notes depuis notes.json au lieu d’utiliser une liste fixe.
  • En l’absence de notes.json, le magasin démarre vide et list affiche No notes yet.

Exécute node notes.js list. Ensuite, exécute node notes.js clear, qui supprime le fichier, puis exécute à nouveau list. Réinitialiser les fichiers restaure le fichier.

Essayez vous-même

// Chargez les notes depuis notes.json au lieu de cette 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 iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Les bases de Node.js