В Java, как я могу создать файл из ресурса? - PullRequest
2 голосов
/ 28 сентября 2011

Файл принимает String и URI в своих конструкторах.

getClass().getResource(...) возвращает URL и getResourceAsStream(...) возвращает InputStream. Есть ли способ создать файл из ресурса?

Ответы [ 2 ]

5 голосов
/ 28 сентября 2011

Вы не можете.По крайней мере, не в стандартном случае, когда ресурс находится внутри Jar.Файловые объекты Java должны указывать на фактические объекты файловой системы (файлы и папки), тогда как ресурс является записью в файле Jar.Попытка создать файл из URI ресурса Jar приведет к исключению:

java.lang.IllegalArgumentException: URI не является иерархическим

1 голос
/ 28 сентября 2011

Есть ли способ создать файл из ресурса?

Строго говоря, нет. Но если вам действительно нужен файл (для передачи в API), то вы можете создать временный файл и записать в него InputStream.

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