Java Reader (avec exemple)

Dans ce tutoriel, nous allons découvrir Java Reader, ses sous-classes et ses méthodes à l'aide d'un exemple.

La Readerclasse du java.iopackage est une superclasse abstraite qui représente un flux de caractères.

Puisqu'il Readers'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.Readerpackage. 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 FileReaderclasse. C'est parce que Readerc'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 Readerclasse 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 lu
  • read(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ébut
  • mark() - marque la position dans le flux jusqu'à laquelle les données ont été lues
  • reset() - renvoie le contrôle au point du flux où la marque est placée
  • skip() - supprime le nombre spécifié de caractères du flux

Exemple: Reader utilisant FileReader

Voici comment nous pouvons implémenter en Readerutilisant la FileReaderclasse.

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 FileReaderclasse. 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).

Articles intéressants...