Comment créer un nouvel URL
objet à l'aide d'un fichier local, à des fins de tests unitaires?
Comment créer un nouvel URL
objet à l'aide d'un fichier local, à des fins de tests unitaires?
Réponses:
Utilisation de Java 7:
Paths.get(string).toUri().toURL();
Cependant, vous souhaitez probablement obtenir un fichier URI
. Par exemple, a URI
commence par file:///
mais une URL avec file:/
(du moins, c'est ce qui toString
produit).
java.nio.file.Paths
. Assurez-vous également de bien préciser que vous faites référence aux implémentations dans "URI vs URL". Anway java.net.URL.toString()
produit la même chose sous Unix, comme il se doit. Il n'affiche qu'un seul "/", ce qui est très faux (voir le schéma URI du fichier ). Je suppose que c'est en Java pour des raisons, une meilleure utilisation java.net.URI
. Il génère correctement "file: // [hôte] /" lors d'un appel à .toString()
.
new URL("file:///your/file/here")
/your/file/here
est un chemin absolu vers un fichier sous Unix / Linux. Sur Windows, ce serait différent je pense.
new URL("file:my.properties");
File myFile=new File("/tmp/myfile");
URL myUrl = myFile.toURI().toURL();
regardez ici la syntaxe complète: http://en.wikipedia.org/wiki/File_URI_scheme
pour les systèmes de type Unix, ce sera comme @Alex l'a dit file:///your/file/here
alors que pour les systèmes Windowsfile:///c|/path/to/file
File.toURI().toURL()
c'est la voie à suivre
.properties
fichier.
java file url
, ce qui signifie dans mon cas que je recherchais le format d'une file://
URL, en Java, à utiliser dans un .properties
fichier, ou à taper manuellement, etc.
file://
c'est malheureusement nécessaire. Être dépendant du système n'est pas un si gros problème car c'est une propriété mutable.
Vous pouvez aussi utiliser
[AnyClass].class.getResource(filePath)
jar:file:/home/user/a/b/c/foo.jar!/com/example/stuff/config.txt
.