Comment extraire le nom de fichier d'un URI de fichier et créer un lien pour le même?

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

  •  20-08-2019
  •  | 
  •  

Question

Mon problème est ::

A partir d'une chaîne telle que & "; /usr/folder1/folder2/filename.ext &";

  • Je dois extraire le nom de fichier uniquement pour l'affichage (nomfichier.ext uniquement).
    • Ma question serait comment devrais-je le faire? Fractionnement sur & Quot; / & Quot; et prendre le dernier élément est un sens mais ne sent pas bon pour moi.
  • Je dois créer un lien hypertexte qui utilise l'URI du fichier comme destination. Ce sera quelque chose de similaire à file: //domain.com/usr/folder1/folder2/filename.ext

J'ai jeté un œil sur les interfaces URI et URL dans java.net, mais je n'y ai trouvé aucun élément utile.

De plus, dans certains cas, mon chemin de fichier peut avoir COMMA, SPACE, etc. (dossiers Windows). Alors, gardez cela à l'esprit lorsque vous donnez des idées.

Était-ce utile?

La solution

Vous pouvez essayer quelque chose comme ceci:

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

Je ne savais pas si cela fonctionnerait si le fichier n'existait pas, mais je viens de l'essayer et il semble fonctionner correctement.

Autres conseils

CommonsIO fournit des solutions à ce problème: FilenameUtils.getName() renvoie le nom de fichier + l'extension.

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

Vous devriez consulter la classe de fichiers. . Surtout pour le getName () méthode.

scroll top