Подтвердить что ты не робот

Загрузить файл в банке

Мне нужно упаковать файл конфигурации в банке. файл конфигурации находится под корнем файла jar. Однако я получил следующую ошибку:

Вызвано: java.lang.IllegalArgumentException: URI не является иерархическим   в java.io.File. (Неизвестный источник)

File url = new File(MyClass.class.getClassLoader().getResource("my.conf").toURI());
4b9b3361

Ответ 1

Вместо этого вы должны использовать getResourceAsStream(). Если файл встроен в JAR, URI скорее всего связывает://URI

InputStream is = this.getClass().getResourceAsStream("my.conf");

Ответ 2

Зачем нужен файл? ЕСЛИ вам нужно прочитать использование конфигурации

Class.getResourceAsStream("/" + "my.conf");

Это нужно только для того, чтобы быть файлом в одной папке с корнем вашего пакета (так же, как в корневом банке)

Ответ 3

Файл должен находиться в том же пакете, что и MyClass. Я просто понял, что вы создаете объект File. Вместо этого попробуйте использовать getResourceAsStream(). Это правильный путь, если вы хотите прочитать содержимое из ресурса pathpath. Здесь приведен пример.