Аналогичные вопросы касаются файлов на диске C:
, где hardcoding путь к файлу является приемлемым ответом. Это приложение является мобильным, а hardcoding путь к файлу не является практичным.FileNotFoundException в то время как файл существует в той же папке, что и программа
Я пытаюсь импортировать текстовый файл через сканер, который содержит список строк, по 15 символов, по 1 на строку. Множество линий. Имя файла: a.txt
.
Я называю это с помощью
File data = new File("a.txt");
Scanner in = new Scanner(data);
повторил строки ниже с "b.txt", используя разные имена объектов.
Однако, когда я построить программу, я получаю этот журнал ошибок (с помощью JCreator IDE):
--------------------Configuration: <Default>--------------------
E:\Simple Encryption\Simple_Encryption.java:17: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
Scanner in = new Scanner(data);
^
E:\Simple Encryption\Simple_Encryption.java:18: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
Scanner numsIn = new Scanner(nums);
^
2 errors
Process completed.
Программа находится в папке E:/Simple Encryption/
, которая содержит следующие файлы и папки:
- Simple_Encryption.java
- Simple_Encryption.class
- lock.png (не используется)
- a.txt
- b.txt (такая же ошибка, как
a.txt
на импорт, только одна строка ниже) - /изображений (папка содержит icon.png)
Там нет ничего в папке , Я не могу жестко указать путь к файлу, потому что на разных компьютерах он имеет разные имена дисков и позже будет распространен в разных папках. (Здесь (школа), это на E:
диске, дома это J:
диск, так и на работе его на G:
диске.)
Хотя я получил помощь от существующих ошибок, мне нужно импортировать это в программе запуска, а не просто пропустить его. Файл существует в текущей форме, и программа не может функционировать без него.
В чем причина этой ошибки? И что я могу сделать, чтобы предотвратить это?