16 novembre 2020 L'utilisation de la classe FileReader et de la classe BufferedReader est à nouveau résumée.
Il s'agit d'une API pour la lecture d'un fichier texte, et est utilisée pour effectuer un traitement basé sur le contenu du fichier texte. Les caractères du fichier sont lus dans un flux de caractères qui peuvent lire et écrire des données caractère par caractère. La classe FileReader possède uniquement une méthode de lecture qui lit les caractères un par un, donc si vous souhaitez lire des données dans un flux d'octets pouvant être lu et écrit en unités d'octets, utilisez la classe FileInputStream.
Lire caractère par caractère avec la méthode read
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
//Spécifiez le chemin du fichier comme argument du constructeur de la classe File
File file = new File("text.txt");
//Gestion des exceptions lorsque le fichier n'existe pas
//La méthode exist renvoie true si le fichier existe, false s'il n'existe pas
if (!file.exists()) {
System.out.print("Fichier ne existe pas");
return;
}
//Utilisez la classe FileReader et la méthode read pour lire et afficher les caractères un par un
FileReader fileReader = new FileReader(file);
int data;
//Répétez jusqu'à la fin du fichier
while ((data = fileReader.read()) != -1) {
//Convertissez le caractère lu en type char et affichez le caractère
System.out.print((char) data);
}
//Fermez enfin le fichier pour libérer des ressources
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Comme la classe FileReader, c'est une classe qui lit les fichiers texte et les méthodes fournies sont différentes de la classe FileReader. La classe BufferReader fournit une méthode readline qui lit ligne par ligne. La classe FileReader lit les caractères un par un, mais si le nombre de caractères est important, l'efficacité peut se détériorer, alors décidez d'une certaine quantité de mémoire et émettez une commande de lecture vers le système d'exploitation lorsqu'il s'accumule. C'est ce qu'on appelle la mise en mémoire tampon.
Lire ligne par ligne avec la méthode readline
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
//Spécifiez le chemin du fichier comme argument du constructeur de la classe File
File file = new File("c:SampleTest.txt");
//Gestion des exceptions lorsque le fichier n'existe pas
//La méthode exist renvoie true si le fichier existe, false s'il n'existe pas
if (!file.exists()) {
System.out.print("Fichier ne existe pas");
return;
}
//Lire et afficher ligne par ligne à l'aide de la méthode readLine de la classe BufferedReader
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String data;
//Répétez jusqu'à la fin du fichier
while ((data = bufferedReader.readLine()) != null) {
System.out.println(data);
}
//Fermez enfin le fichier pour libérer des ressources
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Classe BufferedReader Classe FileReader [Java] Lire des fichiers texte avec FileReader et BufferedReader
Recommended Posts