Jak utworzyć nowy URLobiekt przy użyciu pliku lokalnego na potrzeby testów jednostkowych?
Jak utworzyć nowy URLobiekt 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 URIzaczyna się od, file:///ale adres URL od file:/(przynajmniej to toStringtworzy).
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/herejest 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/herepodczas gdy dla systemów Windowsfile:///c|/path/to/file
File.toURI().toURL()jest droga
.propertiespliku.
java file url, co w moim przypadku oznacza, że szukałem formatu file://adresu URL, w Javie, do wykorzystania w .propertiespliku 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.