Файл не найден? - PullRequest
       10

Файл не найден?

0 голосов
/ 03 декабря 2010

У меня есть назначение, и у нас есть пара классов, один из которых - класс чтения файлов, у которого есть метод для чтения файлов, и он вызывается с параметром (String), содержащим путь к файлу, теперь у меня есть пару файлов .txt, и они находятся в той же папке, что и файлы .java, поэтому я подумал, что могу просто передать file.txt в качестве filepath (как в php, относительно), но это всегда возвращает исключение для файла, не найденного!

Видел тот факт, что данный класс должен работать правильно, и что я проверил, что классы действительно находятся в той же папке рабочей области / src, что и файлы .java, я должен что-то не так с строкой filepath, но что?

Это мой код:

private static final String fileF = "File.txt";
private static final ArrayList<String[]> instructionsF =
CreatureReader.readInstructions(fileF);

Ответы [ 3 ]

10 голосов
/ 03 декабря 2010

Поместите это:

File here = new File(".");
System.out.println(here.getAbsolutePath());

где-то в вашем коде. Он распечатает текущий каталог вашей программы.

Затем просто поместите файл туда или измените путь к файлу.

3 голосов
/ 03 декабря 2010

Обратите внимание на две вещи:

  1. проверьте, действительно ли так назван файл "File.txt", поскольку он не найдет "file.txt" -> чувствительность к регистру имеет значение!
  2. ваш файл не будет найден, если вы используете относительные имена файлов (без полного каталога), и он не указан в вашем пути к классам -> попробуйте поместить его туда, где сгенерированы ваши .class файлы

Итак: если у вас есть файл с именем /home/javatest/File.txt, у вас есть исходный код в /home/javatest/ и ваши файлы .class в том же каталоге, ваш код должен работать нормально.

0 голосов
/ 03 декабря 2010

Если ваш класс находится в пакете и вы поместили файлы как братьев и сестер, тогда ваш путь должен включать путь к пакету. Как предлагается в других ответах, распечатайте путь к рабочему каталогу, чтобы определить, где Java ищет соответствующий файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...