Не могу найти текстовый файл, не могу определить его путь
Я запускаю Java-приложение, которое должно прочитать текстовый файл и сохранить его в строку, но я продолжаю получать NoSuchFileException
, Текстовый файл находится в папке рядом с src под названием assets.
static String readFile(String path, Charset encoding) throws IOException {
byte[] encoded = Files.readAllBytes(Paths.get(path));
return new String(encoded, encoding);
}
Это метод, который читает файл, который я нашел здесь.
try {
string = readFile("test.txt",Charset.defaultCharset());
} catch (IOException e) {
e.printStackTrace();
}
Я пробовал "/assets/test.txt" и другие варианты также безрезультатно.
2 ответа
Если вы выполняете программу Java из Eclipse, типичная конфигурация запуска поместит базовый каталог проекта в качестве текущего рабочего каталога процесса Java. Поэтому вам нужно использовать относительный путь, основанный на этом каталоге (assets/test.txt
или же src/main/assets/test.txt
или похож). Вы также можете использовать полный путь (пример: /somewhere/workspace/project/assets/test.txt
).
Вы всегда можете использовать System.out.println("CWD=" + new File(".").getAbsolutePath());
запросить каталог, в котором среда выполнения Java считает, что он запущен.
Просто используйте (без косой черты):
try {
string = readFile("assets/test.txt",Charset.defaultCharset());
} catch (IOException e) {
e.printStackTrace();
}
Получить путь относительно корня проекта.