English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, nous allons comprendre le Reader Java, ses sous-classes et ses méthodes à travers un exemple.
La classe Reader de java.io est une super-classe abstraite qui représente les flux de caractères.
Comme Reader est une classe abstraite, elle ne fonctionne pas en soi. Cependant, ses sous-classes peuvent être utilisées pour lire des données.
Pour utiliser les fonctionnalités de Reader, nous pouvons utiliser ses sous-classes. Parmi eux, il y en a quelques-unes :
Dans le prochain tutoriel, nous allons apprendre tous ces sous-classes.
Pour créer un Reader, nous devons d'abord importer le paquet java.io.Reader. Après avoir importé le paquet, nous pouvons créer un Reader.
// Création d'un Reader Reader input = new FileReader();
Dans cet exemple, nous avons créé un Reader à l'aide de la classe FileReader. Cela est dû au fait que Reader est une classe abstraite. Par conséquent, nous ne pouvons pas créer d'objet Reader.
Attention:Nous pouvons également créer des Reader à partir d'autres sous-classes de Reader.
Les méthodes fournies par cette classe Reader diffèrent selon les sous-classes. Voici quelques méthodes courantes :
ready(); - Vérification que le Reader est prêt à lire
read(char[] array) - Lire des caractères à partir du flux et les stocker dans l'array spécifié
read(char[] array, int start, int length)- Lire un certain nombre de caractères égaux au length à partir du flux et les stocker dans l'array spécifié en commençant par start
mark(); - Marquer la position des données lues dans le flux
reset(); - Réinitialiser le flux. Si le flux a été marqué, essayez de le marquer à nouveau pour vous remettre à la position. Si le flux n'a pas été marqué, essayez de le réinitialiser à une position appropriée dans certains flux spécifiques, par exemple en le remettant à son point de départ.
skip(); -Ignorer un certain nombre de caractères du flux
Voici comment nous pouvons implémenter les méthodes de Reader à l'aide de la classe FileReader.
Supposons que nous ayons un fichier nomméinput.txtCe fichier contient les données suivantes.
This is a line of text inside the file.
Essayons d'utiliser FileReader (sous-classe de Reader) pour lire ce fichier.
import java.io.Reader; import java.io.FileReader; class Main { public static void main(String[] args) { // Création d'un tableau de caractères char[] array = new char[100]; try { //Création d'un Reader à l'aide de FileReader Reader input = new FileReader("input.txt"); //Vérification que le Reader est prêt System.out.println("Y a-t-il des données dans le flux? "); + input.ready()); //Lecture de caractères input.read(array); System.out.println("Données du flux:"); System.out.println(array); // Close reader input.close(); } catch(Exception e) { e.getStackTrace(); } } }
Output result
Is there data in the stream? true Data in the stream: This is a line of text inside the file.
In the above example, we created a reader using the FileReader class. Reader and fileinput.txtlink.
Reader input = new FileReader("input.txt");
In order toinput.txtFile read data, we have implemented these methods.
input.read(); //Read data from reader input.close(); //Close reader