Classe Java FileReader
Classe Java FileReader
Dans ce didacticiel, nous allons découvrir Java FileReader et ses méthodes à l'aide d'exemples.
Le FileReader
classe du java.io
package peut être utilisé pour lire des données (en caractères) à partir de fichiers.
Il étend le InputSreamReader
classe.
Avant d'en savoir plus sur FileReader
, assurez-vous de connaître le fichier Java.
Créer un lecteur de fichiers
Afin de créer un lecteur de fichier, nous devons importer le java.io.FileReader
paquet d'abord. Une fois le package importé, voici comment créer le lecteur de fichiers.
FileReader input = new FileReader(String name);
Ici, nous avons créé un lecteur de fichier qui sera lié au fichier spécifié par le nom .
FileReader input = new FileReader(File fileObj);
Ici, nous avons créé un lecteur de fichier qui sera lié au fichier spécifié par l'objet du fichier.
Dans l'exemple ci-dessus, les données du fichier sont stockées à l'aide d'un codage de caractères par défaut.
Cependant, depuis Java 11, nous pouvons spécifier le type d'encodage de caractères (UTF-8 ou UTF-16 ) dans le fichier également.
FileReader input = new FileReader(String file, Charset cs);
Ici, nous avons utilisé le Charset
class pour spécifier l'encodage des caractères du lecteur de fichier.
Méthodes de FileReader
Le FileReader
la classe fournit des implémentations pour différentes méthodes présentes dans le Reader
classe.
méthode read()
read()
- lit un seul caractère du lecteurread(char[] array)
- lit les caractères du lecteur et les stocke dans le tableau spécifiéread(char[] array, int start, int length)
- lit le nombre de caractères égal à longueur du lecteur et stocke dans le tableau spécifié à partir de la position début
Par exemple, supposons que nous ayons un fichier nommé input.txt avec le contenu suivant.
This is a line of text inside the file.
Essayons de lire le fichier en utilisant FileReader
.
import java.io.FileReader;
class Main {
public static void main(String[] args) {
// Creates an array of character
char[] array = new char[100];
try {
// Creates a reader using the FileReader
FileReader input = new FileReader("input.txt");
// Reads characters
input.read(array);
System.out.println("Data in the file: ");
System.out.println(array);
// Closes the reader
input.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Sortie
Data in the file: This is a line of text inside the file.
Dans l'exemple ci-dessus, nous avons créé un lecteur de fichier nommé input . Le lecteur de fichier est lié au fichier input.txt .
FileInputStream input = new FileInputStream("input.txt");
Pour lire les données du fichier, nous avons utilisé le read()
méthode.
Remarque :Le fichier input.txt doit être présent dans le répertoire de travail courant.
méthode getEncoding()
Le getEncoding()
La méthode peut être utilisée pour obtenir le type d'encodage 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 {
// Creates a FileReader with default encoding
FileReader input1 = new FileReader("input.txt");
// Creates a FileReader specifying the encoding
FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8"));
// Returns the character encoding of the file reader
System.out.println("Character encoding of input1: " + input1.getEncoding());
System.out.println("Character encoding of input2: " + input2.getEncoding());
// Closes the reader
input1.close();
input2.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Sortie
The character encoding of input1: Cp1252 The character encoding of input2: UTF8
Dans l'exemple ci-dessus, nous avons créé 2 lecteurs de fichiers nommés input1 et entrée2 .
- entrée1 ne spécifie pas le codage des caractères. D'où le
getEncoding()
renvoie l'encodage de caractères par défaut. - entrée2 spécifie le codage des caractères, UTF8 . D'où le
getEncoding()
renvoie l'encodage de caractères spécifié.
Remarque :Nous avons utilisé le Charset.forName()
méthode pour spécifier le type d'encodage de caractères. Pour en savoir plus, visitez Java Charset (documentation officielle de Java).
Méthode close()
Pour fermer le lecteur de fichier, on peut utiliser le close()
méthode. Une fois le close()
est appelée, nous ne pouvons pas utiliser le lecteur pour lire les données.
Autres méthodes de FileReader
Méthode | Description |
---|---|
ready() | vérifie si le lecteur de fichiers est prêt à être lu |
mark() | marquer la position dans le lecteur de fichier jusqu'à laquelle les données ont été lues |
reset() | renvoie le contrôle au point du lecteur où la marque a été définie |
Pour en savoir plus, visitez Java FileReader (documentation officielle de Java).
Java