Як створити новий 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
.