Java: Comment savoir si le chemin est absolu quel que soit le système d'exploitation
Est-il de toute façon en Java pour savoir si le chemin est absolu ou pas, indépendamment de la plate-forme le programme est actuellement en cours d'exécution. Donc, ce que je veux, c'est probablement quelque chose comme l'exemple suivant:
Sur Linux:
new File("/home/").isAbsolute() //Should return true.
new File("C:/My Documents").isAbsolute() //Should *also* return true.
Sur Windows:
new File("C:/Documents").isAbsolute() //Should return true.
new File("/home/").isAbsolute() //Should *also* return true.
Je peux probablement le code quelque chose pour aller avec cela, mais je voulais juste savoir si quelqu'un connaissait une classe intégrée fournie en Java pour résoudre ce problème. Ou quelqu'un a venir ce problème? Et comment avez-vous résolu?
Merci!
source d'informationauteur His
Vous devez vous connecter pour publier un commentaire.
Nope.
Il y a quelques sous-jacent Système de fichiers classes (Java 7, mais ils existent avant elle) qui exposent isAbsolute(), mais ils ne sont pas public, de sorte que vous ne devrait pas les utiliser, et même si vous avez votre code serait pleine de réflexion, courrier indésirable, et seuls les "corriger" les OS sont inclus dans le JRE, de sorte que vous avez le code autour d'eux de toute façon.
Voici la Java 7 implémentations de isAbsolute(...) pour obtenir vous avez commencé. Remarque ce Fichier.getPrefixLength() est forfait-privé.
Win32FileSystem:
UnixFileSystem:
Dans Java 7:
Ma fissure à présent à l'aide d'Apache FilenameUtil -
Techniquement, c'est le retour !relatif. Ce qui est bien pour mes besoins.
J'ai fini par l'utilisation de ce (Java 6):