Jak utworzyć nowy URL
obiekt przy użyciu pliku lokalnego na potrzeby testów jednostkowych?
Jak utworzyć nowy URL
obiekt przy użyciu pliku lokalnego na potrzeby testów jednostkowych?
Odpowiedzi:
Korzystanie z języka Java 7:
Paths.get(string).toUri().toURL();
Jednak prawdopodobnie chcesz uzyskać URI
. Np. A URI
zaczyna się od, file:///
ale adres URL od file:/
(przynajmniej to toString
tworzy).
java.nio.file.Paths
. Upewnij się również, że masz na myśli implementacje w „URI a URL”. Anway java.net.URL.toString()
produkuje to samo na Uniksie, jak musi. Wyświetla tylko jeden znak „/”, który jest bardzo zły (patrz schemat URI pliku ). Myślę, że to jest w Javie z powodów, lepszego wykorzystania java.net.URI
. Prawidłowo generuje „file: // [host] /” w wywołaniu .toString()
.
new URL("file:///your/file/here")
/your/file/here
jest bezwzględną ścieżką do pliku w systemie Unix / Linux. Myślę, że w systemie Windows byłoby inaczej.
new URL("file:my.properties");
File myFile=new File("/tmp/myfile");
URL myUrl = myFile.toURI().toURL();
spójrz tutaj na pełną składnię: http://en.wikipedia.org/wiki/File_URI_scheme
dla systemów typu unix będzie tak, jak powiedział @Alex, file:///your/file/here
podczas gdy dla systemów Windowsfile:///c|/path/to/file
File.toURI().toURL()
jest droga
.properties
pliku.
java file url
, co w moim przypadku oznacza, że szukałem formatu file://
adresu URL, w Javie, do wykorzystania w .properties
pliku lub do
file://
jest to niestety konieczne. Bycie zależnym od systemu nie jest tak dużym problemem, ponieważ jest to zmienna właściwość.
Możesz także użyć
[AnyClass].class.getResource(filePath)
jar:file:/home/user/a/b/c/foo.jar!/com/example/stuff/config.txt
.