Как читать файл в Java - BufferedReader
В этой статье мы покажем вам, как использоватьjava.io.BufferedReader
для чтения содержимого из файла.
Note
Прочтите этоdifferent ways read a file
1. Files.newBufferedReader (Java 8)
В Java 8 есть новый методFiles.newBufferedReader(Paths.get("file"))
для возвратаBufferedReader
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); } }
Выход
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); } } } }