Приложение, над которым я работаю, включает в себя доступ к файлам в общих сетевых файлах, и мы используем URI для указания местоположений файлов.файл: URI и слэши
Мое понимание файла: URI в том, что они должны иметь форму file://
+ путь. В случае общего сетевого ресурса Windows этот путь выглядит примерно как \\servername\dir\file
, поэтому итоговый URI становится file:////servername/dir/file
.
Это, похоже, отлично подходит для Java URI class, но API Win32, похоже, хочет получить URI file://servername/dir/file
, который Java отвергает, поскольку он имеет «компонент полномочий».
Я правильно понимаю URI сетевых ресурсов? Есть ли другой способ указать путь без Java, жалующегося на авторитет?
Edit: Мы надеялись, чтобы иметь возможность хранить пути как URI, таким образом, чтобы использовать схемы-части URI, чтобы задать другие места (например файл: в сравнении с другими :). Но, как отмечалось, это выглядит как Java может просто иметь свои собственные проблемы с URIs ...
Благодарим за быстрый ответ. Вторая ссылка была особенно полезной. Хотя для меня имело смысл, что весь путь будет храниться в сегменте «пути» URI, я вижу, что Java делает это несколько непоследовательно, поэтому я буду следить за этим. – Sammy1Am
На самом деле, насколько мне известно, схема URL-адресов файлов даже не требует двойной косой черты, но только с одной косой чертой. В дикой природе оба часто видны. – hippietrail
https://tools.ietf.org/html/rfc3986#section-3 «Когда полномочия отсутствуют, путь не может начинаться с двух символов косой черты» –