English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, nous allons apprendre Java FileReader et ses méthodes à l'aide d'exemples.
La classe FileReader du paquet java.io peut être utilisée pour lire des données à partir de fichiers (en caractères).
Il hérite de la classe InputSreamReader.
Avant d'étudier FileReader, assurez-vous de comprendreJava files.
Pour créer un lecteur de fichiers, nous devons d'abord importer le paquet java.io.FileReader. Après avoir importé le paquet, voici la méthode pour créer un lecteur de fichiers.
1.Utilisation du nom de fichier
FileReader input = new FileReader(String name);
Dans ce cas, nous créons un lecteur de fichiers qui se connecte au nom de fichier spécifié.
2.Utilisation de l'objet fichier
FileReader input = new FileReader(File fileObj);
Dans ce cas, nous créons un lecteur de fichiers qui se connecte au fichier spécifié par l'objet fichier.
Dans l'exemple précédent, les données du fichier sont stockées avec un encodage de caractères par défaut certain
Mais, en raison de Java 11Nous pouvons également spécifier le type d'encodage des caractères dans le fichier (UTF-8ouUTF-16)
FileReader input = new FileReader(String file, Charset cs);
Dans ce cas, nous utilisons la classe Charset pour spécifier l'encodage des caractères du lecteur de fichiers.
La classe FileReader fournit des implémentations différentes des méthodes existantes dans la classe Reader.
read() - Lecture d'un seul caractère à partir du lecteur
read(char[] array) - Lecture des caractères à partir du lecteur et leur stockage dans l'array spécifié
read(char[] array, int start, int length) - lire un nombre de caractères égal à length depuis le lecteur, et commencer à stocker à partir de la position start dans l'array spécifié
Par exemple, supposons que nous ayons un fichier nomméinput.txtdu fichier, qui contient le contenu suivant.
Ceci est une ligne de texte à l'intérieur du fichier.
Essayons d'utiliser le lecteur de fichier FileReader.
import java.io.FileReader; class Main { public static void main(String[] args) { //créer un tableau de caractères char[] array = new char[100]; try { //créer un lecteur avec FileReader FileReader input = new FileReader("input.txt"); //lire des caractères input.read(array); System.out.println("Données dans le fichier : "); System.out.println(array); // fermer le reader input.close(); } catch(Exception e) { e.getStackTrace(); } } }
Output result
Données dans le fichier : Ceci est une ligne de texte à l'intérieur du fichier.
Dans l'exemple ci-dessus, nous avons créé un lecteur de fichier nommé input. Le lecteur de fichier est lié au fichierinput.txtlier.
FileInputStream input = new FileInputStream("input.txt");
Pour lire les données à partir du fichier, nous avons utilisé la méthode read().
La méthode getEncoding() peut être utilisée pour obtenir le type de codage utilisé pour stocker les données dans le fichier. Par exemple,
import java.io.FileReader; import java.nio.charset.Charset; class Main { public static void main(String[] args) { try { //créer un FileReader avec l'encodage par défaut FileReader input1 = new FileReader("input.txt"); //créer un FileReader avec une encodage spécifique FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); //retourne le codage des caractères du lecteur de fichier System.out.println("input1du codage des caractères : " + input1.getEncoding()); System.out.println("input2du codage des caractères : " + input2.getEncoding()); //fermer le reader input1.close(); input2.close(); } catch(Exception e) { e.getStackTrace(); } } }
Output result
input1with the character encoding: Cp1252 input2with the character encoding: UTF8
In the above example, we created2a file reader, named input1and input2.
input1No character encoding is specified. Therefore, the getEncoding() method returns the default character encoding.
input2Specify character encodingUTF8. Therefore, the getEncoding() method returns the specified character encoding.
Note: We have specified the type of character encoding using the Charset.forName() method.
To close the file reader, we can use the close() method. After calling the close() method, we will not be able to use the reader to read data.
Method | Description |
---|---|
ready() | Check if the file reader is ready to read |
mark() | Mark the position of the data read in the file reader |
reset() | Reset the reader and return to the position set by the reader marker |