Les données vivent en RAM... mais disparaissent à l'arrêt ! Les fichiers permettent de sauvegarder et charger des données de façon permanente.
Un fichier s'ouvre, se lit ou s'écrit, puis se ferme. Avance étape par étape : tant que le fichier reste ouvert, il est verrouillé. Le fermer libère la ressource.
Clique sur « Étape suivante » pour ouvrir le fichier.
Ouvrir le classeur et lire un document
Créer ou remplacer un document
Ajouter à la fin d'un document existant
💡 Important : Toujours fermer le classeur après usage !
En programmation, on utilise close() ou le pattern try-with-resources.
Un Stream est comme un tuyau : les données coulent d'une source vers une destination.
Fichier → Programme
FileReader, BufferedReader
Programme → Fichier
FileWriter, BufferedWriter
// Java 11+ : Files.readString (simple)
String content = Files.readString(Path.of("fichier.txt"));
// Ou ligne par ligne avec try-with-resources
try (BufferedReader reader = new BufferedReader(
new FileReader("fichier.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} // Fermeture automatique !
// Java 11+ : Files.writeString (simple)
Files.writeString(Path.of("fichier.txt"), "Contenu");
// Append (ajouter à la fin)
Files.writeString(Path.of("fichier.txt"), "Nouvelle ligne\n",
StandardOpenOption.APPEND);
JSON (JavaScript Object Notation) est LE format standard pour échanger des données entre programmes.
{
"nom": "Alice",
"age": 25,
"actif": true,
"scores": [95, 87, 92]
}
// Python
user = {
"nom": "Alice",
"age": 25,
"actif": True,
"scores": [95, 87, 92]
}
# Python
import json
with open("data.json") as f:
data = json.load(f)
// JavaScript
const data = JSON.parse(content);
// Java
ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(file, User.class);
# Python
with open("data.json", "w") as f:
json.dump(data, f, indent=2)
// JavaScript
const json = JSON.stringify(data, null, 2);
// Java
mapper.writeValue(file, user);
Depuis la racine du système
/home/user/projets/app/data.txt
C:\Users\Alice\Documents\data.txt
✓ Toujours le même fichier
Depuis le dossier courant
./data/config.json
../parent/file.txt
✓ Portable entre machines
C:\Users\file.txt (backslash)
/home/user/file.txt (slash)
💡 Utilise Path.of() (Java), os.path.join() (Python), path.join() (Node.js) pour la portabilité !
Une erreur = Game Over ! 10 questions aléatoires.
Les excellentes vidéos de Graven sur les fichiers :