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