Comment lire un fichier en tant que chaîne de caractères

JavaJavaBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Stockage des données dans un fichier est utile pour le stockage permanent. En Java, il existe quatre classes qui peuvent être utilisées pour lire des fichiers : FileReader, Scanner, FileInputStream et BufferedReader. Ces classes font partie du package java.io et sont utilisées pour la manipulation de fichiers en Java.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/FileandIOManagementGroup -.-> java/read_files("Read Files") java/FileandIOManagementGroup -.-> java/io("IO") subgraph Lab Skills java/user_input -.-> lab-117443{{"Comment lire un fichier en tant que chaîne de caractères"}} java/files -.-> lab-117443{{"Comment lire un fichier en tant que chaîne de caractères"}} java/create_write_files -.-> lab-117443{{"Comment lire un fichier en tant que chaîne de caractères"}} java/read_files -.-> lab-117443{{"Comment lire un fichier en tant que chaîne de caractères"}} java/io -.-> lab-117443{{"Comment lire un fichier en tant que chaîne de caractères"}} end

Créer un fichier d'échantillonnage

Commencez par créer un fichier .txt d'échantillonnage à lire. Vous pouvez utiliser n'importe quel éditeur de texte pour créer ce fichier, et il peut contenir n'importe quelle donnée que vous souhaiteriez lire. Exemple :

This is the sample data stored in a file
Rahul:10025
Sohan:10026
Madan:10027
Jack:10028

Importer les classes requises

Pour lire le fichier et convertir son contenu en chaîne de caractères, vous devrez importer les classes suivantes :

import java.io.*;

Lecture d'un fichier avec FileReader

Utilisez la classe FileReader pour lire les données à partir du fichier. Un objet de la classe FileReader pointe vers le début d'un fichier. Utilisez un tampon de taille 1 pour lire chaque caractère du fichier, puis ajoutez-le à une variable String.

try {
     // Étape 1 : Créer un nouvel objet FileReader
     FileReader fr = new FileReader("path/to/your/file.txt");

     // Étape 2 : Créer une variable String pour stocker le contenu du fichier
     String fileData = "";

     // Étape 3 : Créer une variable entière pour stocker chaque caractère lu
     int c;

     // Étape 4 : Continuer à lire le fichier jusqu'à la fin du fichier
     while ((c = fr.read())!= -1) {

         // Étape 5 : Ajouter chaque caractère lu à la chaîne fileData
         fileData += (char) c;
     }

     // Étape 6 : Afficher le contenu du fichier
     System.out.println(fileData);

     // Étape 7 : Fermer le lecteur de fichier
     fr.close();

 } catch (IOException e) {
     e.printStackTrace();
 }

Lecture d'un fichier avec Scanner

Utilisez la classe Scanner pour lire des données à partir d'un fichier texte. Vous devez fournir le fichier texte en tant que source d'entrée au scanner, puis délimiter le scanner avec la méthode \\Z pour lire l'ensemble des données d'un coup et les convertir en une chaîne de caractères.

try {
     File file = new File("path/to/file.txt");
     Scanner scanner = new Scanner(file);

     scanner.useDelimiter("\\Z");

     String fileData = scanner.next();
     System.out.println(fileData);

     scanner.close();
 } catch (FileNotFoundException e) {
     e.printStackTrace();
 }

Lecture d'un fichier avec FileInputStream

Utilisez la classe FileInputStream pour lire directement les données d'un fichier dans un tableau d'octets. Créez un tampon de la taille souhaitée (10 octets dans notre exemple) pour stocker temporairement les données lues à partir du fichier, puis ajoutez-les à un objet StringBuilder. Enfin, nous utilisons la méthode toString() pour convertir le contenu de l'objet StringBuilder en une String.

try {
     File file = new File("path/to/file.txt");
     FileInputStream fileInputStream = new FileInputStream(file);
     byte[] buffer = new byte[10];
     StringBuilder stringBuilder = new StringBuilder();

     int length;
     while ((length = fileInputStream.read(buffer))!= -1) {
         stringBuilder.append(new String(buffer, 0, length));
     }

     String fileData = stringBuilder.toString();
     System.out.println(fileData);

     fileInputStream.close();

 } catch (IOException e) {
     e.printStackTrace();
 }

Lecture d'un fichier avec BufferedReader

Utilisez la classe BufferedReader pour lire des données à partir d'un fichier d'une manière simple. Elle lira toutes les données d'un coup, et vous pourrez ensuite les imprimer ligne par ligne à l'aide de la méthode readLine().

try {
     File file = new File("path/to/file.txt");
     BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
     String line;

     while ((line = bufferedReader.readLine())!= null) {
         System.out.println(line);
     }

     bufferedReader.close();

 } catch (IOException e) {
     e.printStackTrace();
 }

Sommaire

Dans ce laboratoire, vous avez appris à lire des données à partir d'un fichier dans une String en Java. Il existe plusieurs façons de le faire, notamment en utilisant les classes FileReader, Scanner, FileInputStream et BufferedReader. Nous vous recommandons d'expérimenter ces méthodes vous-même pour comprendre comment elles fonctionnent et laquelle est la plus appropriée pour votre cas d'utilisation spécifique. N'oubliez pas de tester votre code et de vérifier le chemin vers votre fichier texte.