Як створити новий URLоб’єкт, використовуючи локальний файл, для одиничних тестів?
Як створити новий URLоб’єкт, використовуючи локальний файл, для одиничних тестів?
Відповіді:
Використання Java 7:
Paths.get(string).toUri().toURL();
Однак ви, мабуть, хочете отримати URI. Наприклад, а URIпочинається з file:///URL-адреси з file:/(принаймні, саме так toString).
java.nio.file.Paths. Крім того, не забудьте уточнити, що ви маєте на увазі реалізацію в "URI vs URL". Anway java.net.URL.toString()виробляє те саме, що і в Unix, як і повинно. Він відображає лише один "/", що дуже неправильно (див. Схему URI файлу ). Я думаю, що це на Java через причини, краще використовувати java.net.URI. Він правильно генерує "файл: // [хост] /" під час виклику до .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тоді як для систем Windows було бfile:///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.