загрузить файл в банку - PullRequest
       2

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

20 голосов
/ 28 декабря 2010

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

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

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

Ответы [ 3 ]

29 голосов
/ 28 декабря 2010

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

InputStream is = this.getClass().getResourceAsStream("my.conf");
7 голосов
/ 28 декабря 2010

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

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

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

4 голосов
/ 28 декабря 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...