Как мне создать новый URLобъект, используя локальный файл, для целей юнит-тестов?
Как мне создать новый URLобъект, используя локальный файл, для целей юнит-тестов?
Ответы:
Используя Java 7:
Paths.get(string).toUri().toURL();
Тем не менее, вы, вероятно, хотите получить URI. Например, a URIначинается с file:///URL-адреса file:/(по крайней мере, это то, что toStringпроизводит).
java.nio.file.Paths. Кроме того, убедитесь, что вы имеете в виду реализации в «URI против URL». Anway java.net.URL.toString()производит то же самое в Unix, как и должно. Он отображает только одну "/", что очень неправильно (см. Схему URI файла ). Я думаю, что это на Java по причинам, лучше использовать java.net.URI. Он правильно генерирует «file: // [host] /» при вызове .toString().
new URL("file:///your/file/here")
/your/file/hereабсолютный путь к файлу в Unix / Linux. На Windows это было бы иначе, я думаю.
new URL("file:my.properties");
File myFile=new File("/tmp/myfile");
URL myUrl = myFile.toURI().toURL();
посмотрите здесь полный синтаксис: http://en.wikipedia.org/wiki/File_URI_scheme
для unix-подобных систем, как будет сказано @Alex, file:///your/file/hereтогда как для систем Windowsfile:///c|/path/to/file
File.toURI().toURL()путь
.propertiesфайле.
java file url, что в моем случае означает, что я искал формат file://URL, в Java, для использования в .propertiesфайле или для ввода вручную и т. Д.
file://, к сожалению, это необходимо. Быть зависимым от системы - не такая большая проблема, так как это изменчивое свойство.
Вы также можете использовать
[AnyClass].class.getResource(filePath)
jar:file:/home/user/a/b/c/foo.jar!/com/example/stuff/config.txt.