Comment créer un nouvel URLobjet à l'aide d'un fichier local, à des fins de tests unitaires?
Comment créer un nouvel URLobjet à 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 URIcommence par file:///mais une URL avec file:/(du moins, c'est ce qui toStringproduit).
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/hereest 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/herealors que pour les systèmes Windowsfile:///c|/path/to/file
File.toURI().toURL()c'est la voie à suivre
.propertiesfichier.
java file url, ce qui signifie dans mon cas que je recherchais le format d'une file://URL, en Java, à utiliser dans un .propertiesfichier, 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.