Maîtriser Java FileReader : Guide complet et exemples pratiques
Maîtriser Java FileReader : Guide complet et exemples pratiques
La classe FileReader du package java.io lit des données caractères depuis des fichiers. Elle étend InputStreamReader et supporte différents encodages de caractères.
Création d'un FileReader
Importez d'abord la classe :
import java.io.FileReader;
1. Par nom de fichier
FileReader input = new FileReader("chemin/vers/fichier.txt");
Crée un lecteur ouvrant le fichier spécifié.
2. Par objet File
File objetFichier = new File("chemin/vers/fichier.txt");
FileReader input = new FileReader(objetFichier);
3. Avec jeu de caractères explicite (Java 11+)
FileReader input = new FileReader("chemin/vers/fichier.txt", StandardCharsets.UTF_8);
L'utilisation de Charset permet de lire les fichiers avec l'encodage souhaité.
Méthodes principales de FileReader
Méthode read()
read()– lit un seul caractèreread(char[] tableau)– remplit le tableau avec des caractèresread(char[] tableau, int offset, int longueur)– litlongueurcaractères dans le tableau à partir deoffset
Exemple : Lecture de input.txt contenant « Ceci est une ligne de texte dans le fichier. »
import java.io.FileReader;
class Main {
public static void main(String[] args) {
char[] tampon = new char[100];
try (FileReader reader = new FileReader("input.txt")) {
int nbLus = reader.read(tampon);
System.out.println("Données dans le fichier :");
System.out.println(new String(tampon, 0, nbLus));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Sortie
Données dans le fichier : Ceci est une ligne de texte dans le fichier.
Note : Placez input.txt dans le répertoire de travail courant.
Méthode getEncoding()
Récupère le jeu de caractères utilisé par le lecteur :
import java.io.FileReader;
import java.nio.charset.StandardCharsets;
class Main {
public static void main(String[] args) {
try {
FileReader lecteurDefaut = new FileReader("input.txt");
FileReader lecteurUtf8 = new FileReader("input.txt", StandardCharsets.UTF_8);
System.out.println("Encodage par défaut : " + lecteurDefaut.getEncoding());
System.out.println("Encodage UTF-8 : " + lecteurUtf8.getEncoding());
} catch (Exception e) {
e.printStackTrace();
}
}
}
Sortie
Encodage par défaut : Cp1252 Encodage UTF-8 : UTF-8
Quand un jeu de caractères est spécifié, getEncoding() le renvoie ; sinon il reflète la valeur par défaut de la plateforme.
Méthode close()
Fermez toujours le lecteur après usage. L'instruction try-with-resources ci-dessus le gère automatiquement.
Méthodes supplémentaires de FileReader
| Méthode | Description |
|---|---|
ready() | Indique si le flux est prêt à être lu |
mark() | Marque la position courante dans le flux |
reset() | Réinitialise le flux à la marque la plus récente |
Pour plus de détails, référez-vous à la documentation officielle Java FileReader.
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