¿Cómo extraer el nombre del archivo de un URI de archivo y crear un enlace para el mismo?

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

  •  20-08-2019
  •  | 
  •  

Pregunta

Mi problema es ::

De una cadena como " /usr/folder1/folder2/filename.ext "

  • Tengo que extraer el nombre del archivo solo para mostrarlo (filename.ext solamente).
    • Mi pregunta sería ¿cómo debo hacerlo? División en & Quot; / & Quot; y tomar el último elemento es unidireccional, pero no me huele bien.
  • Tengo que crear un hipervínculo que use el URI del archivo como destino. Será algo similar al archivo: //domain.com/usr/folder1/folder2/filename.ext

Miré las interfaces URI y URL en java.net pero no pude encontrar nada útil allí.

Además, en algunos casos, mi ruta de archivo puede tener COMMA, ESPACIO, etc. (carpetas de Windows). Por lo tanto, tenga esto en cuenta al dar ideas.

¿Fue útil?

Solución

Podría intentar algo como esto:

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

No estaba seguro de si esto funcionaría si el archivo no existe, pero lo he intentado y parece que funciona bien.

Otros consejos

CommonsIO proporciona soluciones para este problema: FilenameUtils.getName() , devuelve el nombre del archivo + extensión.

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

Debería echar un vistazo a la Clase de archivo . Especialmente para el getName () método.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top