Como extrair o nome do arquivo de um arquivo de URI e criar um link para o mesmo?

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

  •  20-08-2019
  •  | 
  •  

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.

Foi útil?

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
scroll top