Utilisation des Fichiers comme Stockage Simple
Glissez pour afficher le menu
Jusqu'à présent, vous avez appris à :
- Lire des données à partir d'un fichier ;
- Écrire des données dans un fichier ;
- Ajouter du nouveau contenu.
Il est maintenant temps d'utiliser les fichiers comme un système de stockage simple.
Pourquoi avons-nous besoin de données structurées
Stocker du texte brut n'est pas suffisant pour des applications réelles.
Par exemple :
First note
Second note
Ceci est difficile à gérer car :
- Il n'est pas facile de mettre à jour une note spécifique ;
- Il n'est pas possible d'organiser les données ;
- Il n'est pas possible d'ajouter des informations supplémentaires.
Utilisation de JSON pour le stockage
Pour stocker des données structurées, nous utilisons JSON.
JSON ressemble à un objet JavaScript :
[
{ "text": "First note" },
{ "text": "Second note" }
]
Ce format permet de :
- Stocker plusieurs éléments ;
- Organiser les données de manière claire ;
- Manipuler les données dans le code.
Étape 1 : Lire les données à partir d'un fichier
const fs = require('fs');
const data = fs.readFileSync('notes.json', 'utf-8');
Ceci retourne une chaîne de caractères.
Étape 2 : Convertir le JSON en JavaScript
const notes = JSON.parse(data);
Maintenant, notes est un véritable tableau exploitable.
Étape 3 : Mettre à jour les données
notes.push({ text: 'New note' });
Un nouvel élément est ajouté au tableau.
Étape 4 : Sauvegarder les données dans le fichier
fs.writeFileSync('notes.json', JSON.stringify(notes));
JSON.stringifyconvertit le JavaScript en JSON ;- le fichier est mis à jour avec les nouvelles données.
Exemple complet
const fs = require('fs');
// Read file
const data = fs.readFileSync('notes.json', 'utf-8');
// Convert to JS
const notes = JSON.parse(data);
// Update data
notes.push({ text: 'Learn Node.js' });
// Save back
fs.writeFileSync('notes.json', JSON.stringify(notes));
Gestion de la première exécution (fichier vide)
Si le fichier n'existe pas ou est vide, l'application plantera.
Ce problème peut être résolu en commençant avec un tableau vide :
let notes = [];
try {
const data = fs.readFileSync('notes.json', 'utf-8');
notes = JSON.parse(data);
} catch (error) {
notes = [];
}
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion