Нахождение пути текстового файла - PullRequest
0 голосов
/ 23 октября 2018

Я знаю, что есть 2 способа записи пути для файла при чтении файла в JAVA.

//1st way
    scanner = new Scanner(new File("C:\\Users\\User\\IdeaProjects\\EDSS\\src\\file\\JobList.txt"));
//2nd way
    scanner = new Scanner(new File("src/file/JobList.txt"));

Но когда я пытаюсь преобразовать свой формат из .java в .exe (Приложение) с помощьюПервый путь в IntelliJ через что-то под названием «Build Artifacts», я могу плавно открыть приложение.Однако при втором способе я не могу открыть приложение, и я обнаружил, что это из-за пути.И только 1-й способ позволяет мне запускать Приложение только на моем компьютере.Если я скопирую файл на ноутбук моего друга с другим именем пользователя, например («C: \ Users \ Bernard ...»), приложение тоже не сможет работать, и мне придется вручную изменить путь в кодах для запуска приложения.Есть ли способ точного поиска пути без ручного ввода полной длины, и в то же время приложение (.exe) может работать с ним?

1 Ответ

0 голосов
/ 23 октября 2018

Вы сталкиваетесь с проблемами с абсолютным и относительным путями.

Ваш первый вариант - абсолютный путь.Это означает, что вы всегда будете получать файл в определенном месте на компьютере, но если это место не существует, вы не сможете его найти

Ваш второй вариант использует относительный путь, который будет искать файл на основе начальногорасположение вашей программы, чтобы exe-файл мог запускаться из другого места, отличного от командной строки, из которой вы строите Java.

Решение состоит в том, чтобы использовать относительные пути и убедиться, что файл Joblist.txt всегда находится в одном месте относительнок месту выполнения.

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

System.out.println(new File(".").getAbsolutePath())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...