Файл принимает String и URI в своих конструкторах.
getClass().getResource(...) возвращает URL-адрес и
getResourceAsStream(...) возвращает InputStream. Есть ли способ создать файл из ресурса?
Ответ 1
Вы не можете. По крайней мере, не в стандартном случае, когда ресурс находится внутри Jar. Объекты Java File должны указывать на фактические объекты файловой системы (файлы и папки), тогда как ресурс - это запись в файле Jar. Попытка построить файл из URI ресурса Jar приведет к исключению:
java.lang.IllegalArgumentException: URI не является иерархическим
Ответ 2
Есть ли способ создать файл из ресурса?
Строго говоря, нет. Но если вам действительно нужен файл (для перехода к API), вы можете создать временный файл и записать InputStream.