14 07 Creer des fichiers
Maintenant que nous avons vu comment utiliser les exceptions en Java, voyons comment créer un fichier. L'usage typique est d'écrire des données dans un fichier texte pour les relire plus tard. La manière la plus simple de lire et d'écrire un fichier texte en Java passe par la classe FileWriter, conçue précisément pour la sortie de fichiers.
Utiliser FileWriter
On commence par instancier la classe. Le constructeur de FileWriter demande un argument car l'écriture peut viser différents types de cibles, et nous devons lui indiquer le nom du fichier à utiliser : FileWriter writer = new FileWriter("monfichier.txt"). Il faut penser à importer la classe en début de fichier. Java signale que ce constructeur peut lever une exception : on l'entoure d'un try/catch ou on déclare throws sur la méthode principale.
Pour écrire dans le fichier, on utilise la méthode write : writer.write("Bonjour"). Attention, à ce stade le programme n'est pas encore terminé. Si on laisse FileWriter ouvert, on aura des fuites de ressources : le fichier est créé mais le contenu n'est jamais réellement écrit, le mot "Bonjour" ne sera pas présent à l'intérieur. Il faut donc toujours fermer le writer une fois l'écriture finie : writer.close().
On peut maintenant compiler et exécuter le programme. Le fichier apparaît à la racine du projet ou dans le dossier resources selon la configuration. En l'ouvrant, on retrouve bien le contenu écrit. Avec cette simple combinaison FileWriter, write et close, on dispose d'une base solide pour générer des fichiers texte en Java.
En résumé
Ce cours montre comment créer et écrire des données dans un fichier en Java. Nous apprenons à utiliser la classe FileWriter pour instancier un writer, puis la méthode write() pour insérer du contenu. L'étape cruciale est de fermer le fichier à la fin avec la méthode close() pour éviter les fuites de ressources et garantir que les données sont effectivement écrites.
Points clés
- Utiliser la classe FileWriter pour créer et gérer l'écriture dans un fichier
- Le constructeur FileWriter nécessite de spécifier le nom du fichier en paramètre
- Utiliser la méthode write() pour insérer des données (texte) dans le fichier
- La fermeture du fichier avec close() est obligatoire pour éviter les fuites de ressources
- Sans appeler close(), le fichier sera créé mais les données ne seront pas sauvegardées
- Gérer les exceptions IOException qui peuvent être levées lors de ces opérations avec try-catch
Questions fréquentes
Qu'est-ce que la classe FileWriter en Java ?
FileWriter est la classe Java utilisée pour écrire des données dans un fichier texte. Elle prend en paramètre le nom du fichier et permet d'utiliser la méthode write() pour insérer du contenu.
Pourquoi faut-il appeler la méthode close() après écrire dans un fichier ?
La méthode close() ferme le fichier et libère les ressources associées. Sans cela, il y a des fuites de ressources et, surtout, les données écrites ne seront pas sauvegardées dans le fichier créé.
Quelle exception peut être levée lors de la création d'un fichier ?
IOException peut être levée lors de ces opérations de fichier. Elle doit être gérée avec un bloc try-catch ou déclarée dans la signature de la méthode avec throws.