You are currently viewing FileNotFoundException in Java

FileNotFoundException in Java

  • Post author:
  • Post category:Java
  • Post comments:0 Comments
  • Post last modified:May 29, 2024

FileNotFoundException is a type of IOException that occurs when a file is requested from the file system, but the file with the specified pathname does not exist. This exception is thrown by various methods in the package when an attempt to open a file for reading, writing, or other operations fails because the specified file does not exist.

Causes of FileNotFoundException

There are several common causes for FileNotFoundException:

  1. Incorrect File Path: If the specified file path is incorrect or does not exist, the FileNotFoundException will be thrown.
  2. File or Directory Permissions: If the file exists but the application does not have the necessary permissions to read it, a FileNotFoundException will occur.
  3. File Deleted or Moved: If the file was deleted or moved after the application attempted to access it, a FileNotFoundException will be thrown.

Handling FileNotFoundException in Java

You can handle FileNotFoundException using try-catch blocks to gracefully handle the exception and provide meaningful feedback to the user. Here’s an example:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        try {
            File file = new File("example.txt");
            Scanner scanner = new Scanner(file);
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();
        } catch (FileNotFoundException e) {
            System.out.println("The specified file does not exist.");

In this example:

  • We attempt to read from a file named “example.txt”.
  • If the file does not exist or cannot be opened for reading, a FileNotFoundException will be thrown.
  • We catch the exception and print a user-friendly error message along with the stack trace for debugging purposes.

Preventing FileNotFoundException

To prevent FileNotFoundException, you can perform the following actions:

  1. Check File Existence: Before attempting to access a file, check whether it exists using the exists() method of the File class.
  2. Handle File Path Dynamically: If the file path is user-provided or dynamic, ensure that it is valid and exists before attempting to access the file.
  3. Use Absolute Paths: Prefer using absolute file paths instead of relative paths to avoid ambiguity in file location.


In Java, FileNotFoundException is a common exception that occurs when attempting to access a file that does not exist. By understanding its causes and handling it appropriately in your code, you can write more robust and error-tolerant applications.

Leave a Reply