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

Tutoriel de base Java

Java Contrôle de flux

Java Array

Java Orienté Objet (I)

Java Orienté Objet (II)

Java Orienté Objet (III)

Gestion des exceptions Java

Java List

Java Queue (filet)

Java Map 集合

Java Set 集合

Java 输入输出(I/O)

Java Reader/Writer

Autres sujets Java

Java FileReader class

Dans ce tutoriel, nous allons apprendre Java FileReader et ses méthodes à l'aide d'exemples.

La classe FileReader du paquet java.io peut être utilisée pour lire des données à partir de fichiers (en caractères).

Il hérite de la classe InputSreamReader.

Avant d'étudier FileReader, assurez-vous de comprendreJava files.

Créer un FileReader

Pour créer un lecteur de fichiers, nous devons d'abord importer le paquet java.io.FileReader. Après avoir importé le paquet, voici la méthode pour créer un lecteur de fichiers.

1.Utilisation du nom de fichier

FileReader input = new FileReader(String name);

Dans ce cas, nous créons un lecteur de fichiers qui se connecte au nom de fichier spécifié.

2.Utilisation de l'objet fichier

FileReader input = new FileReader(File fileObj);

Dans ce cas, nous créons un lecteur de fichiers qui se connecte au fichier spécifié par l'objet fichier.

Dans l'exemple précédent, les données du fichier sont stockées avec un encodage de caractères par défaut certain

Mais, en raison de Java 11Nous pouvons également spécifier le type d'encodage des caractères dans le fichier (UTF-8ouUTF-16)

FileReader input = new FileReader(String file, Charset cs);

Dans ce cas, nous utilisons la classe Charset pour spécifier l'encodage des caractères du lecteur de fichiers.

Méthodes de FileReader

La classe FileReader fournit des implémentations différentes des méthodes existantes dans la classe Reader.

Méthode read()

  • read() - Lecture d'un seul caractère à partir du lecteur

  • read(char[] array) - Lecture des caractères à partir du lecteur et leur stockage dans l'array spécifié

  • read(char[] array, int start, int length) - lire un nombre de caractères égal à length depuis le lecteur, et commencer à stocker à partir de la position start dans l'array spécifié

Par exemple, supposons que nous ayons un fichier nomméinput.txtdu fichier, qui contient le contenu suivant.

Ceci est une ligne de texte à l'intérieur du fichier.

Essayons d'utiliser le lecteur de fichier FileReader.

import java.io.FileReader;
class Main {
  public static void main(String[] args) {
    //créer un tableau de caractères
    char[] array = new char[100];
    try {
      //créer un lecteur avec FileReader
      FileReader input = new FileReader("input.txt");
      //lire des caractères
      input.read(array);
      System.out.println("Données dans le fichier : ");
      System.out.println(array);
      // fermer le reader
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Output result

Données dans le fichier :
Ceci est une ligne de texte à l'intérieur du fichier.

Dans l'exemple ci-dessus, nous avons créé un lecteur de fichier nommé input. Le lecteur de fichier est lié au fichierinput.txtlier.

FileInputStream input = new FileInputStream("input.txt");

Pour lire les données à partir du fichier, nous avons utilisé la méthode read().

La méthode getEncoding()

La méthode getEncoding() peut être utilisée pour obtenir le type de codage utilisé pour stocker les données dans le fichier. Par exemple,

import java.io.FileReader;
import java.nio.charset.Charset;
class Main {
  public static void main(String[] args) {
    try {
      //créer un FileReader avec l'encodage par défaut
      FileReader input1 = new FileReader("input.txt");
      //créer un FileReader avec une encodage spécifique
      FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8"));
      //retourne le codage des caractères du lecteur de fichier
      System.out.println("input1du codage des caractères : " + input1.getEncoding());
      System.out.println("input2du codage des caractères : " + input2.getEncoding());
      //fermer le reader
      input1.close();
      input2.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Output result

input1with the character encoding: Cp1252
input2with the character encoding: UTF8

In the above example, we created2a file reader, named input1and input2.

  • input1No character encoding is specified. Therefore, the getEncoding() method returns the default character encoding.

  • input2Specify character encodingUTF8. Therefore, the getEncoding() method returns the specified character encoding.

Note: We have specified the type of character encoding using the Charset.forName() method.

close() method

To close the file reader, we can use the close() method. After calling the close() method, we will not be able to use the reader to read data.

Other methods of FileReader

MethodDescription
ready()Check if the file reader is ready to read
mark()Mark the position of the data read in the file reader
reset()Reset the reader and return to the position set by the reader marker