bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths

Loading lesson path

Learn/Java/Java File Handling
Java•Java File Handling

Java Read Files

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

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.");
 }
}
}

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

Java Write To Files

Next

Java Delete Files