При запуске моего приложения Java из сетевой папки я столкнулся с исключением IllegalArgumentException, которое гласит: URI имеет компонент полномочий.Создайте новый файл (URI) с полномочным компонентом
Я отлаживал и обнаружил, что проблема заключалась в том, что я создавал новый файл, передавая в URI с помощью компонента полномочий. Раньше я никогда не сталкивался с этой проблемой, потому что я всегда запускал приложение локально, и не было никакого компонента полномочий.
URI uri = new URI("...network path...//myFile");
Это выдает ошибку:
File file = new File(uri);
Это работает:
File file = new File(uri.toString());
Я вижу, что внутри файла (Uri) конструктор не допустит URI с компонентом полномочий , Может ли кто-нибудь объяснить, почему? и почему мне разрешено создавать файл для String?
Спасибо!
'Файл (URI uri)' является допустимым конструктором для файла ... –
Из документов, а также может помочь: Параметры: uri - Абсолютный иерархический URI со схемой, равной «файлу», непустой компонент пути и неопределенные полномочия, запросы и фрагменты –
Да, я знаю, что файл может принимать URI, и я знаю, что URI не может иметь полномочия. Я пытаюсь понять, почему это так. И почему создается файл со строковым путем, эквивалентным работе URI? – MonkBen