J'ai vérifié la partie de java.net.URL # getPath
      
      
        
        
        
        
Le contenu de l'article est vérifié avec Java 8.
Aperçu
Notez comment le '/' est géré dans la chaîne de caractères obtenue par getPath (), car je m'excite à chaque fois que j'écris le code.
Résumé
- Seul '/' est retourné même si le chemin est complètement omis
 
- Cependant, si l'hôte et le chemin n'existent pas, une chaîne de caractères vide est renvoyée.
 
- Le «/» de fin n'est pas omis
 
- Il ne doit pas être souligné car il ne doit pas être omis en premier lieu
 
Exemple
| URL | 
getPath() | 
http://host | 
/ | 
http://host/ | 
/ | 
http://host/path | 
/path | 
http://host/path/ | 
/path/ | 
http://host?query | 
/ | 
http://host/?query | 
/ | 
http://host/path?query | 
/path | 
http://host/path/?query | 
/path/ | 
http:// | 
(Chaîne vide) | 
http:/// | 
/ | 
http:///path | 
/path | 
Points à garder à l'esprit
- Il est garanti de commencer par '/', donc la description suivante est correcte
 
path.startsWith("/path");
- Il est garanti de commencer par '/', donc si vous découpez un élément avec split ("/"), le premier élément sera toujours une chaîne vide ... Vous devez l'ignorer.
 
- ** Notez que split ("/") renvoie un tableau de taille 0 pour les chemins avec uniquement "/" **
 
String a[]=path.split("/");
if(a[1].equals("path")) {} //Le chemin est"/"Une exception se produit en cas de
- Le '/' de fin n'est pas omis, soyez donc prudent lorsque vous écrivez ce qui suit:
 
path.endsWith("tail"); //"/path/tail/"Si c'est le cas, ce sera faux
- getPath () ne retourne probablement jamais null
 
- Il ne doit pas être nul pour créer une instance en passant une chaîne URL au constructeur