Come posso creare un nuovo URLoggetto usando un file locale, ai fini di unit test?
Come posso creare un nuovo URLoggetto usando un file locale, ai fini di unit test?
Risposte:
Utilizzando Java 7:
Paths.get(string).toUri().toURL();
Tuttavia, probabilmente vorrai ottenere un URI. Ad esempio, un URIinizia con file:///ma un URL con file:/(almeno, questo è ciò che toStringproduce).
java.nio.file.Paths. Inoltre, assicurati di chiarire che intendi le implementazioni in "URI vs URL". Anway java.net.URL.toString()produce la stessa cosa su Unix, come deve. Mostra solo un "/" che è molto sbagliato (vedi schema URI file ). Immagino che questo sia in Java per motivi, un uso migliore java.net.URI. Genera correttamente "file: // [host] /" su una chiamata a .toString().
new URL("file:///your/file/here")
/your/file/hereè un percorso assoluto per un file su Unix / Linux. Su Windows sarebbe diverso penso.
new URL("file:my.properties");
File myFile=new File("/tmp/myfile");
URL myUrl = myFile.toURI().toURL();
dai un'occhiata qui per la sintassi completa: http://en.wikipedia.org/wiki/File_URI_scheme
per sistemi unix-like sarà come ha detto @Alex file:///your/file/herementre per sistemi Windows sarebbefile:///c|/path/to/file
File.toURI().toURL()è la strada da percorrere
.propertiesfile.
java file url, il che nel mio caso significa che stavo cercando il formato di un file://URL, in Java, da utilizzare in un .propertiesfile o da digitare manualmente, ecc.
file://è purtroppo necessario. Essere dipendenti dal sistema non è un problema così grande poiché è una proprietà mutabile.
Puoi anche usare
[AnyClass].class.getResource(filePath)
jar:file:/home/user/a/b/c/foo.jar!/com/example/stuff/config.txt.