Как читать из текстового файла в Java, когда он не сохранен в том же месте

Я пытаюсь написать функцию, которая будет принимать строку, затем открыть файл с именем этой строки и прочитать текст. Я знаю, как это сделать, но у меня возникли проблемы с тем, что мои текстовые файлы не сохраняются в том же месте, что и мой файл Java.

Похоже на это.

Project name/src/program.java
Project name/resources/text.txt

Я использую класс File, но не знаю, что поместить в конструктор File, чтобы открыть его в нужном месте. то есть. File store = new File(xxxxxxxxxtext.txt)Помогите мне с тем, что идет перед именем файла, пожалуйста. Кроме того, это Java 6 и я на Windows 8.

Это мой код:

public static void areaSearch(String a) {
Scanner reader = null;
try {
reader = new Scanner(new File("../resources/" + a+ ".txt"));
}
catch (Exception e) {
System.out.println("File: " + a +" not opended...");
}

2 ответа

Решение

Используйте относительный путь, если он находится на простом относительном пути из папки вашего проекта:

File file = File("../resources/text.txt");

Или используйте абсолютный путь:

File file = File("C:\\abcfolder\\text.txt");

Прочитайте документацию. Для класса File существует более 1 конструктора. Использование:

public File(File parent, String child)
Другие вопросы по тегам