Comment lire un fichier à une chaîne de caractères en Java

Rupam Yadav 12 octobre 2023
  1. Files.readString() pour lire une chaîne de caractères d’un fichier en Java 11
  2. Files.lines(file_path) pour lire le fichier à la chaîne en Java 8
  3. Files.readAllLines() pour lire la chaîne de caractères d’un fichier en Java 7
  4. BufferedReader.readLine pour lire une chaîne de caractères d’un fichier
Comment lire un fichier à une chaîne de caractères en Java

Nous présenterons comment nous pouvons lire le contenu d’un fichier et le convertir ensuite en une chaîne Java.

Le fichier testFile.txt, qui contient une partie du contenu que nous voulons lire comme une chaîne Java, est présenté ci-dessous.

A B C D 1 2 3

Files.readString() pour lire une chaîne de caractères d’un fichier en Java 11

Java 11 apporte une nouvelle méthode Files.readString() qui nous permet de lire le fichier facilement et sans écrire beaucoup de code.

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Main {
  public static void main(String[] args) {
    Path path = Paths.get("/Projects/testFile.txt");

    try {
      String content = Files.readString(path);
      System.out.println(content);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

Production:

A
B
C
D
1
2
3

Files.lines(file_path) pour lire le fichier à la chaîne en Java 8

L’API Stream a été introduite dans Java 8, qui traite l’ensemble des données de différentes manières.

La classe Files, qui fait partie du paquet java.NIO, contient une méthode lines() qui produit Stream<String> ou un flux de chaînes de caractères à partir d’un fichier texte.

Essayons de convertir le contenu du fichier en chaîne Java en utilisant l’API Stream.

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {
  public static void main(String[] args) {
    try {
      Path path = Paths.get("/Projects/testFile.txt");
      Stream<String> lines = Files.lines(path);

      String content = lines.collect(Collectors.joining(System.lineSeparator()));
      System.out.println(content);
      lines.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

Production:

A
B
C
D
1
2
3
Remarque

N’oubliez jamais de fermer le flux après l’avoir utilisé. Remarquez les lines.close().

Elle assure la fermeture du flux une fois que le contenu a été imprimé.

Files.readAllLines() pour lire la chaîne de caractères d’un fichier en Java 7

La lecture des fichiers n’était pas si facile avant Java 7, qui a apporté la nouvelle méthode au paquet java.nio. Il s’agit de la méthode Files.readAllLines() qui retourne une liste de chaînes de caractères du fichier. Chaque chaîne représente une seule ligne du fichier.

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

public class Main {
  public static void main(String[] args) {
    try {
      Path path = Paths.get("/Projects/testFile.txt");
      List<String> contentList = Files.readAllLines(path, StandardCharsets.UTF_8);
      System.out.println(contentList);

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

Production:

[A, B, C, D, 1, 2, 3]

BufferedReader.readLine pour lire une chaîne de caractères d’un fichier

Nous pouvons également obtenir le contenu de notre fichier en utilisant la classe BufferedReader, qui lit le texte à partir d’un flux d’entrée.

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {
  public static void main(String[] args) throws IOException {
    String path = "/Projects/testFile.txt";

    try (BufferedReader br = new BufferedReader(new FileReader(path))) {
      String line = br.readLine();
      StringBuilder sb = new StringBuilder();

      while (line != null) {
        sb.append(line).append("\n");
        line = br.readLine();
      }

      String fileAsString = sb.toString();
      System.out.println(fileAsString);
    }
  }
}

Production:

A
B
C
D
1
2
3
Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Article connexe - Java String

Article connexe - Java File