Java Read Files - W3Schools

Java Read Files ❮ Previous Next ❯

Read a File

In the previous chapters, you learned how to create and write to a file.

In the following example, we use the Scanner class to read the contents of the text file we created in the previous chapter:

Example

import java.io.File; // Import the File class import java.io.FileNotFoundException; // Import this class to handle errors import java.util.Scanner; // Import the Scanner class to read text files public class ReadFile { public static void main(String[] args) { File myObj = new File("filename.txt"); // try-with-resources: Scanner will be closed automatically try (Scanner myReader = new Scanner(myObj)) { while (myReader.hasNextLine()) { String data = myReader.nextLine(); System.out.println(data); } } catch (FileNotFoundException e) { System.out.println("An error occurred."); e.printStackTrace(); } } }

The output will be:

Files in Java might be tricky, but it is fun enough! Run Example »

Explanation: This program opens the file named filename.txt and reads it line by line using a Scanner. Each line is printed to the console. If the file cannot be found, the program will print "An error occurred." instead.

Get File Information

To get more information about a file, use any of the File methods:

Example

import java.io.File; // Import the File class public class GetFileInfo { public static void main(String[] args) { File myObj = new File("filename.txt"); if (myObj.exists()) { System.out.println("File name: " + myObj.getName()); System.out.println("Absolute path: " + myObj.getAbsolutePath()); System.out.println("Writeable: " + myObj.canWrite()); System.out.println("Readable " + myObj.canRead()); System.out.println("File size in bytes " + myObj.length()); } else { System.out.println("The file does not exist."); } } }

The output will be:

File name: filename.txt Absolute path: C:\Users\MyName\filename.txt Writeable: true Readable: true File size in bytes: 0 Run Example »

Other Ways to Read Files

There are several classes you can use to read files in Java:

  • Scanner - best for simple text and when you want to parse numbers or words easily.
  • BufferedReader - best for large text files, because it is faster and reads line by line.
  • FileInputStream - best for binary data (images, audio, PDFs) or when you need full control of raw bytes.

You will learn more about FileInputStream and BufferedReader in later chapters.

Tip: To delete a file, read our Java Delete Files chapter.

Tip: For a list of all Scanner methods, go to our Java Scanner Reference.

❮ Previous Next ❯ +1 Sign in to track progress

Tag » How To Read The Text File In Java