Comment lire un fichier en Java - BufferedReader
Dans cet article, nous allons vous montrer comment utiliserjava.io.BufferedReader
pour lire le contenu d'un fichier
Note
Lire cecidifferent ways read a file
1. Files.newBufferedReader (Java 8)
Dans Java 8, il existe une nouvelle méthodeFiles.newBufferedReader(Paths.get("file"))
pour renvoyer unBufferedReader
filename.txt
A B C D E
FileExample1.java
package com.example; import java.io.BufferedReader; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class FileExample1 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); try (BufferedReader br = Files.newBufferedReader(Paths.get("filename.txt"))) { // read line by line String line; while ((line = br.readLine()) != null) { sb.append(line).append("\n"); } } catch (IOException e) { System.err.format("IOException: %s%n", e); } System.out.println(sb); } }
Sortie
A B C D E
2. BufferedReader
2.1 A classic BufferedReader
with JDK 1.7 try-with-resources
to auto close the resources.
FileExample2.java
package com.example; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class FileExample2 { public static void main(String[] args) { try (FileReader reader = new FileReader("filename.txt"); BufferedReader br = new BufferedReader(reader)) { // read line by line String line; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (IOException e) { System.err.format("IOException: %s%n", e); } } }
2.2 In the old days, we have to close everything manually.
FileExample3.java
package com.example.calculator; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class FileExample3 { public static void main(String[] args) { BufferedReader br = null; FileReader fr = null; try { fr = new FileReader("filename.txt"); br = new BufferedReader(fr); // read line by line String line; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (IOException e) { System.err.format("IOException: %s%n", e); } finally { try { if (br != null) br.close(); if (fr != null) fr.close(); } catch (IOException ex) { System.err.format("IOException: %s%n", ex); } } } }