Исключение в потоке" main " java.Ио.FileNotFoundException: Ошибка

Я использую Eclipse для компиляции и запуска моих java-кодов.

вот ошибка, которую я получаю.

Exception in thread "main" java.io.FileNotFoundException: file.txt (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.util.Scanner.<init>(Unknown Source)
    at helloworld.main(helloworld.java:9)

вот мой код

import java.io.File;
import java.io.IOException;
import java.util.Scanner;


public class helloworld {

    public static void main(String[] args) throws IOException {
        Scanner KB = new Scanner(new File("file.txt"));
        while (KB.hasNext()) {
            String line = KB.nextLine();
            System.out.println(line);
        }

    }
}

.txt
Я создал файл.txt в той же папке в моем проекте.

4 ответов


ваш файл должен находиться непосредственно под папкой проекта, а не внутри какой-либо другой подпапки.

Итак, если ваша папка проекта MyProject, это структура папок (не полная, хотя) должна быть такой: -

MyProject +- src +
          |      |
          |      +-- Your source file
          +- file.txt

не должно быть .


или вы можете указать следующий путь относительно папки проекта для поиска файла в src folder: -

new File("src/file.txt");

попробуйте пройти полный путь к файлу, сказать:

new File("/usr/home/mogli/file.txt")

или если вы находитесь в windows:

new File("C:/Users/mogli/docs/file.txt")

либо следуйте подходу @rohit Jains, либо дайте абсолютный путь для как:

 Scanner KB = new Scanner(new File("C:/JsfProjects/Project/file1.txt"));
            while (KB.hasNext()) {
                String line = KB.nextLine();
                System.out.println(line);
            }

в Windows попробуйте дать реальный путь, как это

"C:\Users\mogli\docs\file.txt"

это сработало для меня.