Как определить правильный путь для открытия файла с PrintWriter? - PullRequest
1 голос
/ 18 марта 2019

При создании объекта PrinterWriter:

PrintWriter outputFile = new PrintWriter(*FileName*);

Куда смотрит компилятор при поиске FileName ?Например, в Eclipse я работаю в Arrays / src / ArraysAndFiles.java .В этом примере я пытаюсь открыть Values.txt .Я создал этот файл в каталоге src , поскольку именно там хранится ArraysAndFiles.java .Когда я пытаюсь открыть файл в следующем коде, я получаю FileNotFoundException:

import java.io.PrintWriter;

public class ArraysAndFiles {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        PrintWriter outputFile = new PrintWriter("Values.txt");

    }
}

Какой правильный путь к Values.txt ?

Ответы [ 3 ]

0 голосов
/ 18 марта 2019

Решение № 1 (рекомендуется для небольших файлов, но у вас есть преимущество, что файл будет найден и на других компьютерах): Как загрузить файл из папки ресурсов?

Решение № 2: Построить путь шаг за шагом с помощью конструктора File(String parent, String child).Пример:

File desktop = new File(System.getProperty("user.home"),"Desktop");
File textsFolder = new File(desktop,"texts");
File testsFolder = new File(textsFolder,"tests");
File peopleTxt = new File(testsFolder,"people,txt");

Что равно: C: //Users//George//Desktop//texts//tests//people.txt (ОС Windows).

0 голосов
/ 18 марта 2019

согласно коду,

PrintWriter outputFile = new PrintWriter("Values.txt");

если вы поместите ваш Values.txt в каталог текущего / проекта, т.е. в папку Arrays, он должен работать, но есть ограничения, как упомянуто в комментариях выше, такие как запись в файл, который является частью JarFile.

В зависимости от вашей цели, вы должны предпринять действие.

0 голосов
/ 18 марта 2019

В вашем примере «Values.txt» - это относительный путь.Относительно вашего рабочего каталога .
Обычно это тот же каталог, где находится ваш JAR-файл.

В Eclipse приложение встроено в папку «bin».В вашем случае это Arrays\bin\.Так что это рабочий каталог приложения, и ваш файл должен быть там.

Если вы хотите, чтобы Eclipse экспортировал этот файл во время процесса сборки, сделайте следующее:

Щелкните правой кнопкой мыши файл -> Путь сборки -> Добавить в путь сборки

...