Java read file Example
In this example we will show how to open and read a file in Java. There are many ways to do this, but we will show two of them. For this example, we will read the contents of a text file named “test_file.txt”.
1. Read a file using BufferedReader
This is the most commonly-used method in order to read a file in Java. BufferedReader
reads text from a character-input stream, buffering the characters for the more efficient reading of characters, arrays, and lines.
Create a java class named ReadFileBufferedReader.java
with the following code:
ReadFileBufferedReader.java
package com.javacodegeeks.javaio.readfile; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadFileBufferedReader { private static String filepath = "/home/konstantina/test_file.txt"; public static void main(String[] args) { BufferedReader br; String curline; try { br = new BufferedReader(new FileReader(filepath)); while ((curline = br.readLine()) != null) { System.out.println(curline); } br.close(); } catch (IOException e) { e.printStackTrace(); } } }
In this case, we used the class FileReader
along with BufferedReader
. FileReader
needs the file’s name and path so as to open the file. The BufferedReader
class provides a method named readLine()
so as to read each line of the file. There is a while loop which is executed till readLine()
reaches the end of the file.
If we run the above code, we will see the contents of the file “test_file.txt”.
- Output:
This is a test file.
Read file example
provided by
examples.javacodegeeks.com
2. Read a file using FileInputStream
This is another way of reading a file. FileInputStream
reads streams of raw bytes from a file. So, we need to convert those bytes to characters in order to display the contents of the file to the screen.
Create a java class named ReadFileInputStream.java
with the following code:
ReadFileInputStream.java
package com.javacodegeeks.javaio.readfile; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class ReadFileInputStream { private static String filepath = "/home/konstantina/test_file.txt"; public static void main(String[] args) { try { File file = new File(filepath); FileInputStream in = new FileInputStream(file); System.out.println("Total bytes to read from file : " + in.available()); int i; StringBuffer buf = new StringBuffer(""); while ((i = in.read()) != -1) { // convert byte to char and append to StringBuffer buf.append((char) i); } in.close(); System.out.println("File contents :"); System.out.println(buf); } catch (IOException e) { e.printStackTrace(); } } }
If we run the above code, we will have the following results:
- Output:
Total bytes to read from file : 78
File contents :
This is a test file.
Read file example
provided by
examples.javacodegeeks.com
3. Download the source code
You can download the source code of this example from here: ReadFileExample.zip