Como extrair o nome do arquivo de um arquivo de URI e criar um link para o mesmo?
Pergunta
O meu problema é ::
A partir de uma string como "/usr/folder1/folder2/filename.ext"
- Eu tenho que extrair nome do arquivo somente para exibição (filename.ext apenas).
- A minha pergunta seria como devo fazer isso? Dividindo em "/" e tendo o último elemento é um caminho, mas não tem cheiro agradável para mim.
- Eu tenho que criar um hiperlink que usa URI do arquivo como destino. Isso vai ser algo semelhante ao arquivo: //domain.com/usr/folder1/folder2/filename.ext
Eu olhei para interfaces de URI e URL em java.net mas não conseguiu encontrar nada de útil lá.
Além disso, em alguns casos, o meu caminho de arquivo pode ter vírgula, um espaço etc (pastas do Windows). Portanto, manter isso em mente ao dar algumas ideias.
Solução
Você poderia tentar algo como isto:
File file = new File("/usr/folder1/folder2/filename.ext");
System.out.println(file.getName());
Eu não tinha certeza se isso iria funcionar se o arquivo não existir, mas apenas tentei isso e parece trabalho OK.
Outras dicas
CommonsIO fornece soluções para este problema: FilenameUtils.getName()
, retorna o nome do arquivo + extensão.
String filename = FilenameUtils.getName("/usr/folder1/folder2/filename.ext");
System.out.println(filename); // Returns "filename.ext"
Você deve ter um olhar para o classe File . Especialmente para o getNome () método.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow