Приложение, над которым я работаю, включает в себя доступ к файлам в общих папках сети, и мы используем URI для указания местоположений файлов.
Мое понимание файла: URI заключается в том, что они должны иметь форму file://
+ path. В случае общего сетевого ресурса Windows этот путь выглядит примерно как \\servername\dir\file
, поэтому результирующий URI становится file:////servername/dir/file
.
Кажется, он отлично работает для Java URI class, но API Win32, похоже, хочет URI стиля file://servername/dir/file
, который Java отвергает потому что он "имеет компонент полномочий".
Я правильно понимаю URI сетевых ресурсов? Есть ли другой способ указать путь без Java, жалующийся на авторитет?
Изменить: Мы надеялись, что будем хранить пути как URI, чтобы использовать схему-часть URI для указания других местоположений (например, file: versus other:). Но, как указано, похоже, что Java может иметь свои собственные проблемы с URI...