Flash cards
Review the key moves
What is the main idea behind Java Read Files?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
import java.io.File; // Import the File ___Put the learning moves in the order that makes the concept easiest to apply.
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 .