Как мне создать новый 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
.