Obtenez de nom de fichier à partir de l'URL

En Java, compte tenu d'une java.net.URL ou un String dans la forme de http://www.example.com/some/path/to/a/file.xml , quelle est la meilleure façon d'obtenir le nom de fichier, moins l'extension? Ainsi, dans cet exemple, je suis à la recherche de quelque chose qui renvoie "file".

Je peux penser à plusieurs façons de le faire, mais je suis à la recherche de quelque chose qui est facile à lire et court.

  • Vous VOUS rendez compte il n'est pas nécessaire pour qu'il y ait un nom de fichier à la fin, ou même quelque chose qui ressemble à un nom de fichier. Dans ce cas, il peut ou peut ne pas être un file.xml sur le serveur.
  • dans ce cas, le résultat devrait être une chaîne vide, ou peut-être null.
  • Je pense que vous avez besoin de définir le problème plus clairement. Quid des URL suivantes terminaisons? ..../abc, ..../abc/, ..../abc.def, ..../abc.def.ghi, ..../abc?def.ghi
  • Je pense que c'est assez clair. Si l'URL pointe vers un fichier, je suis intéressé par le nom de fichier moins l'extension (si il en a un). Requête les pièces tombent en dehors du nom de fichier.
  • Le client n'a aucun moyen de savoir si le serveur utilise un fichier!
  • Vous n'avez pas défini avec précision ce que vous voulez dire par un "nom de fichier" ou une "extension" - et non, ce ne sont pas des termes que tout le monde comprenne de la même manière.
  • le nom de fichier est la partie de l'url après le dernier slash. l'extension de fichier est la partie du nom de fichier après la dernière période.
  • Vous pourriez être en mesure de le faire à l'aide de l'Apache Commons IO FilenameUtils classe. Voir la réponse fournie par slashnick: stackoverflow.com/questions/8393849/...
  • Connexes: stackoverflow.com/questions/4050087/... (Contient la meilleure réponse, pas de dépendance, mais ne pas atteindre l'objectif de suppression de l'extension.)

InformationsquelleAutor Sietse | 2009-03-03