Maîtriser les opérations sur les fichiers Java avec java.io – Création, lecture, écriture et suppression
La classe File en Java
Dans ce tutoriel, nous explorons la classe java.io.File et ses opérations essentielles sur le système de fichiers, illustrées par des exemples clairs.
La classe File du package java.io fournit une interface programmatique pour travailler avec les fichiers et les répertoires sur le système de fichiers. Bien que l'API plus récente java.nio.file offre des capacités supplémentaires, ce guide se concentre sur l'approche classique java.io.
Fichiers et répertoires
Un fichier est un emplacement de stockage nommé pour des données. Par exemple, main.java contient le code source d'un programme Java.
Un répertoire (ou dossier) est un conteneur pouvant contenir des fichiers et d'autres répertoires — des sous-répertoires. Comprendre ces concepts est la base pour manipuler le système de fichiers en Java.
Création d'un objet File
Premièrement, importez la classe :
import java.io.File;
Puis instanciez-la avec un chemin :
// Crée un objet File représentant le chemin
File file = new File("chemin/vers/fichier.txt");
L'instance File n'est qu'une représentation abstraite ; elle ne crée pas le fichier physique sur le disque.
Note : L'instanciation de File ne crée pas un fichier ; elle ne conserve que le chemin d'accès.
Opérations clés sur les fichiers
| Opération | Méthode | Package |
|---|---|---|
| Créer un fichier | createNewFile() | java.io.File |
| Lire un fichier | read() | java.io.FileReader |
| Écrire dans un fichier | write() | java.io.FileWriter |
| Supprimer un fichier | delete() | java.io.File |
Création de fichiers
La méthode createNewFile() tente de créer un nouveau fichier au chemin spécifié. Elle retourne :
truesi le fichier n'existait pas auparavant et a été créé.falsesi un fichier existe déjà à cet emplacement.
Exemple : Créer un nouveau fichier
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("nouveauFichier.txt");
try {
boolean created = file.createNewFile();
if (created) {
System.out.println("Le nouveau fichier est créé.");
} else {
System.out.println("Le fichier existe déjà.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Si nouveauFichier.txt est absent, le programme affiche :
Le nouveau fichier est créé.
S'il existe déjà, la sortie est :
Le fichier existe déjà.
Lecture de fichiers
La lecture peut se faire via les sous-classes de InputStream ou Reader. Un choix courant est FileReader.
Exemple : Lire un fichier avec FileReader
import java.io.FileReader;
public class Main {
public static void main(String[] args) {
char[] buffer = new char[100];
try {
FileReader reader = new FileReader("input.txt");
reader.read(buffer);
System.out.println("Données dans le fichier :");
System.out.println(buffer);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Le fichier exemple input.txt contient :
Ceci est une ligne de texte à l'intérieur du fichier.
L'exécution du programme affiche :
Données dans le fichier : Ceci est une ligne de texte à l'intérieur du fichier.
Écriture dans les fichiers
L'écriture est généralement effectuée avec les sous-classes de OutputStream ou Writer, telles que FileWriter.
Exemple : Écrire dans un fichier avec FileWriter
import java.io.FileWriter;
public class Main {
public static void main(String[] args) {
String data = "Voici les données dans le fichier de sortie";
try {
FileWriter writer = new FileWriter("output.txt");
writer.write(data);
System.out.println("Les données sont écrites dans le fichier.");
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Le fichier output.txt résultant contient :
Voici les données dans le fichier de sortie.
Suppression de fichiers
La méthode delete() supprime le fichier ou le répertoire spécifié. Elle retourne :
truesi la suppression a réussi.falsesi le fichier n'existait pas ou n'a pas pu être supprimé.
Note : Seuls les répertoires vides peuvent être supprimés avec delete().
Exemple : Supprimer un fichier
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("fichier.txt");
boolean deleted = file.delete();
if (deleted) {
System.out.println("Le fichier est supprimé.");
} else {
System.out.println("Le fichier n'est pas supprimé.");
}
}
}
Sortie :
Le fichier est supprimé.
Exemples connexes
- Créer un répertoire en Java
- Renommer un fichier en Java
- Lister les fichiers d'un répertoire en Java
- Copier des fichiers en Java
Java
- Comprendre le mot-clé final en Java : variables, méthodes et classes
- L'opérateur instanceof en Java : guide complet
- Comprendre les classes imbriquées statiques en Java : utilisation, différences et exemples
- Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
- Le pattern Singleton en Java expliqué : implémentation et utilisation sûre
- Maîtriser la réflexion Java : inspection des classes, méthodes et champs à l'exécution
- Maîtriser Java ObjectOutputStream : Sérialisation, méthodes et exemples pratiques
- Maîtriser Java BufferedReader : Gestion efficace des flux de caractères
- Maîtriser les génériques Java : Construire du code réutilisable et type-safe