Путь к файлу на Ма c без имени пользователя в Java - PullRequest
0 голосов
/ 07 апреля 2020

Я хочу иметь возможность открыть текстовый файл с некоторыми основными c инструкциями из программы в Java, что мне в настоящее время нужно, чтобы открыть файл:

Desktop desktop = Desktop.getDesktop();
File file = new File(/* File Path, this is what I am concerned with. */);
if(file.exists())
try {
     desktop.open(file);
} catch (IOException e) {e.printStackTrace();}

Это прекрасно работает то, что я использовал для пути:

"/ Users / Box / Documents / text.txt"

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

"/ Users /" + username + "/Documents/text.txt" (имя пользователя является имя пользователя, которое вводится в текстовое поле)

Где еще я могу сохранить файл или что еще можно использовать для пути? Есть ли способ найти пользователя автоматически? Должен ли я хранить файл в папке, созданной в root?

1 Ответ

1 голос
/ 07 апреля 2020

Если вы хотите использовать фиксированный путь в папке пользователя, вы можете получить имя пользователя через

String username = System.getProperty("user.name");

В качестве альтернативы вы можете использовать путь относительно местоположения программы, например Paths.get("").toAbsolutePath() см. Получение текущего рабочего каталога в Java

...