В Java, как я могу создать файл из ресурса?

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

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

Ответ 1

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

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

Ответ 2

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

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