Путь к выбранному файлу из JList

203
22 декабря 2017, 01:47

Есть список JList отображающий файлы определенного диска на компе. Выбираю определенный файл или папку

File root = new File(list.getSelectedValue().toString());

Получаю его имя. Хочу получить полный путь к выбранному файлу на диске вместе с именем. Пробую так:

root.getAbsolutePath()

Выдает папку проекта\выбранная папка... Это мне не подходит:( Подскажите как правильно получить полный путь к выбранному в списке файлу?

Answer 1

Если этот код дает вам не тот путь, который вы ожидаете:

File file = new File(list.getSelectedValue().toString());
file.getAbsolutePath();

Еще есть getPath() и getCanonicalPath() помимо getAbsolutePath().

Попробуйте следующий, с помощью Path API:

Path path = Paths.get(list.getSelectedValue().toString());
Path folder = path.getParent();

Ссылка на источник:

  • Get the filePath from Filename using Java (path.getParent)
  • Get the filePath from Filename using Java (file.getAbsolutePath)
  • Java File Path, Absolute Path and Canonical Path

Немного из крайнего источника с переводом на русский:

getAbsolutePath() - возвращает абсолютный путь к файлу. Если файл создан с абсолютным именем пути, он просто возвращает имя пути. Если файл создается с использованием относительного пути, абсолютное имя пути замещается зависящим от системы образом.

В системах UNIX относительный путь становится абсолютным, замещая его текущим каталогом пользователя.

В системах Microsoft Windows относительный путь становится абсолютным, замещая его текущим каталогом диска, названного именем пути, если таковой имеется, а если нет, он замещается на текущий каталог пользователя.

А также:

  • What's the difference between getPath(), getAbsolutePath(), and getCanonicalPath() in Java?
  • Getting the Current Working Directory in Java
  • System Properties

Можно склеить полученный путь и путь к текущей рабочей директории - так получится полный путь, начиная с корневого каталога.

READ ALSO
При вызове onclick приложение крашиться

При вызове onclick приложение крашиться

Я использую библиотеку Zxing для распознавания QR кодов и она работает по android:onClick="scan", но если я нажимаю android:onClick="arch": - ошибка - приложение остановлено,...

239
Задача по Java, принципы ООП

Задача по Java, принципы ООП

У меня такая задача:

228
CURRENT_TIMESTAMP в long

CURRENT_TIMESTAMP в long

К примеру есть дата, которая была сделана с помощью CURRENT_TIMESTAMP в mysql -> String date = "2017-12-20 16:49:31"; Мне нужно её преобразовать в то, из чего можно вытащить...

235