Как извлечь имя файла из URI файла и создать для него ссылку?
Вопрос
Моя проблема:::
Из строки типа «/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"
Вам следует взглянуть на Класс файла.Особенно для получитьИмя() метод.
Не связан с StackOverflow