English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Contrôle de flux Java

Java tableau

Java orienté objet (I)

Java orienté objet (II)

Java orienté objet (III)

Gestion des exceptions Java

Java List

Java Queue (file d'attente)

Java Map collections

Java Set collections

Java entrée/sortie (I/O)

Reader Java/Writer

Autres sujets Java

Java Reader class

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.

Sous-classes de Reader

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.

Création d'un Reader

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.

Méthodes 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

Exemple : Utilisation de FileReader avec Reader

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