Как извлечь имя файла из URI файла и создать для него ссылку?

StackOverflow https://stackoverflow.com/questions/482589

  •  20-08-2019
  •  | 
  •  

Вопрос

Моя проблема:::

Из строки типа «/usr/folder1/folder2/filename.ext»

  • Мне нужно извлечь имя файла только для отображения (только filename.ext).
    • Мой вопрос будет заключаться в том, как мне это сделать?Разделение на «/» и взятие последнего элемента — это один из способов, но для меня это не очень приятно пахнет.
  • Мне нужно создать гиперссылку, которая использует URI файла в качестве места назначения.Это будет что-то похожее на file://domain.com/usr/folder1/folder2/filename.ext.

Я просмотрел интерфейсы URI и URL в java.net, но не нашел там ничего полезного.

Кроме того, в некоторых случаях мой путь к файлу может содержать ЗАПЯТЬЕ, ПРОБЕЛ и т. д. (папки Windows).Так что имейте это в виду, когда высказываете какие-либо идеи.

Это было полезно?

Решение

Вы можете попробовать что-то вроде этого:

File file = new File("/usr/folder1/folder2/filename.ext");
System.out.println(file.getName());

Я не был уверен, сработает ли это, если файл не существует, но только что попробовал, и, похоже, все работает нормально.

Другие советы

CommonsIO предлагает решения этой проблемы: FilenameUtils.getName(), возвращает имя файла + расширение.

String filename = FilenameUtils.getName("/usr/folder1/folder2/filename.ext");
System.out.println(filename); // Returns "filename.ext"

Вам следует взглянуть на Класс файла.Особенно для получитьИмя() метод.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top