La sortie par défaut de File.toURL()
estGenerate URL pour le fichier
file:/c:/foo/bar
Ceux-ci ne semblent pas travailler sur les fenêtres, et doivent être changées pour
file:///c:/foo/bar
Est-ce que le format
file:/foo/bar
fonctionne correctement sur Unix (je n'ai pas de machine Unix à tester)? Existe-t-il une bibliothèque pouvant prendre en charge la génération d'une URL à partir d'un fichier au format correct pour l'environnement actuel?
J'ai pensé à utiliser une expression rationnelle pour résoudre le problème, quelque chose comme:
fileUrl.replaceFirst("^file:/", "file:///")
Cependant, ce n'est pas tout à fait raison, car il permet de convertir une URL correcte comme:
file:///c:/foo/bar
à:
file://///c:/foo/bar
Mise à jour
J'utilise Java 1.4 et dans cette version File.toURL()
n'est pas dépréciée et les deux File.toURL().toString()
et File.toURI().toString()
générer la même URL (incorrect) sur les fenêtres
'file:/c:/toto/bar' ne fonctionnera pas sous UNIX ... une machine UNIX ne pas C: drive – Cristian
En effet, vous pouvez simplement utiliser des chemins unix-comme dans Windows. C'est à dire. '/ foo/bar'. La racine sera sur le même disque que le répertoire de travail du programme Java. – BalusC
Qu'est-ce que vous essayez de faire avec cette URL sous forme de chaîne qui ne fonctionne pas? – Yishai