In this article, we will show you how to use java.io.BufferedReader
to read content from a file
Note
Read this different ways read a file
1. Files.newBufferedReader (Java 8)
In Java 8, there is a new method Files.newBufferedReader(Paths.get("file"))
to return a BufferedReader
filename.txt
A
B
C
D
E
FileExample1.java
package com.favtuts.io.file; import java.io.BufferedReader; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import com.favtuts.io.utils.ResourceHelper; public class FileExample1 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); String fileName = ResourceHelper.getAbsoluteFilePath("filename.txt"); try (BufferedReader br = Files.newBufferedReader(Paths.get(fileName))) { // 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); } }
Output
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.favtuts.io.file; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import com.favtuts.io.utils.ResourceHelper; public class FileExample2 { public static void main(String[] args) { String fileName = ResourceHelper.getAbsoluteFilePath("filename.txt"); try (FileReader reader = new FileReader(fileName); 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.favtuts.io.file; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import com.favtuts.io.utils.ResourceHelper; public class FileExample3 { public static void main(String[] args) throws IOException { BufferedReader br = null; FileReader fr = null; String fileName = ResourceHelper.getAbsoluteFilePath("filename.txt"); try { fr = new FileReader(fileName); 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); } } } }
Download Source Code
$ git clone https://github.com/favtuts/java-core-tutorials-examples
$ cd java-io