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.
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.*;
Lire 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();
}
Lire 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();
}
Lire 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();
}
Lire 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();
}
Résumé
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.



