How to fix Java nio NoSuchFileException wile reading a file


If you are using Java 7 java.nio classes to read a file, you may come across the NoSuchFileException if the file is not found. NoSuchFileException is a checked exception that was added to Java 7 and it extends FileSystemException that in turn extends IOException.

Example:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
import java.nio.file.Paths;
import java.util.stream.Stream;

public class Main {

    public static void main(String[] args)  {

        String fileName = "/Users/proj/src/main/sample.txt";
        try (Stream<String> linesStream = Files.lines(Paths.get(fileName))) {
            linesStream.forEach(System.out::println);
        } catch (NoSuchFileException ex) {
            System.out.println("File not found:" + fileName);
            ex.printStackTrace();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}
Exception stack trace:
java.nio.file.NoSuchFileException: /Users/proj/src/main/sample.txt
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
	at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
	at java.nio.file.Files.newByteChannel(Files.java:361)
	at java.nio.file.Files.newByteChannel(Files.java:407)
	at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384)
	at java.nio.file.Files.newInputStream(Files.java:152)
	at java.nio.file.Files.newBufferedReader(Files.java:2784)
	at java.nio.file.Files.lines(Files.java:3744)
	at java.nio.file.Files.lines(Files.java:3785)
	at JavaReadTextFile.main(JavaReadTextFile.java:13)
Fix/Solutions:
  • Make sure you have provided the absolute path of the file.
  • Make sure the file exists.
Java NoSuchFileException


Have Questions? Post them here!
Advertisements
Try Out Code2care Dev Tools:

Advertisements

Advertisements
Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and software developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include learnings, tutorials, trouble-shooting steps, video tutorials, code snippets, how-to, blogs, articles, etc.

🎉 We are celebrating the 10th years of Code2care! Thank you for all your support!

We strongly support Gender Equality & Diversity.