Dans ce tutoriel, nous allons découvrir Java Reader, ses sous-classes et ses méthodes à l'aide d'un exemple.
La Reader
classe du java.io
package est une superclasse abstraite qui représente un flux de caractères.
Puisqu'il Reader
s'agit d'une classe abstraite, elle n'est pas utile en soi. Cependant, ses sous-classes peuvent être utilisées pour lire des données.
Sous-classes de Reader
Afin d'utiliser la fonctionnalité de Reader
, nous pouvons utiliser ses sous-classes. Certains d'entre eux sont:
- BufferedReader
- InputStreamReader
- FileReader
- StringReader
Nous en apprendrons davantage sur toutes ces sous-classes dans le prochain tutoriel.
Créer un lecteur
Pour créer un Reader
, nous devons d'abord importer le java.io.Reader
package. Une fois le package importé, voici comment créer le lecteur.
// Creates a Reader Reader input = new FileReader();
Ici, nous avons créé un lecteur utilisant la FileReader
classe. C'est parce que Reader
c'est une classe abstraite. Par conséquent, nous ne pouvons pas créer un objet de Reader
.
Remarque : nous pouvons également créer des lecteurs à partir d'autres sous-classes de Reader
.
Méthodes de lecteur
La Reader
classe fournit différentes méthodes qui sont implémentées par ses sous-classes. Voici quelques-unes des méthodes couramment utilisées:
ready()
- vérifie si le lecteur est prêt à être luread(char() array)
- lit les caractères du flux et les stocke dans le tableau spécifiéread(char() array, int start, int length)
- lit le nombre de caractères égal à la longueur du flux et stocke dans le tableau spécifié à partir du débutmark()
- marque la position dans le flux jusqu'à laquelle les données ont été luesreset()
- renvoie le contrôle au point du flux où la marque est placéeskip()
- supprime le nombre spécifié de caractères du flux
Exemple: Reader utilisant FileReader
Voici comment nous pouvons implémenter en Reader
utilisant la FileReader
classe.
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 ce fichier en utilisant FileReader
(une sous-classe de Reader
).
import java.io.Reader; 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 Reader input = new FileReader("input.txt"); // Checks if reader is ready System.out.println("Is there data in the stream? " + input.ready()); // Reads characters input.read(array); System.out.println("Data in the stream:"); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Production
Y a-t-il des données dans le flux? true Données dans le flux: il s'agit d'une ligne de texte à l'intérieur du fichier.
Dans l'exemple ci-dessus, nous avons créé un lecteur utilisant la FileReader
classe. Le lecteur est lié au fichier input.txt .
Reader input = new FileReader("input.txt");
Pour lire les données du fichier input.txt , nous avons implémenté ces méthodes.
input.read(); // to read data from the reader input.close(); // to close the reader
Pour en savoir plus, visitez Java Reader (documentation Java officielle).