На самом деле, если файл не существует, метод getResource
вернет null
, поэтому вы получите NullPointerException
как внутри блоков try, так и внутри блоков catch.
На самом деле я не знаю, возможно ли в любом случае создать нужный файл, потому что сначала вам нужен полный путь, который вы не можете получить, потому что метод getResource
или getResourceAsStream
вернет null
.
Что вы можете сделать, это получить путь к другому файлу ресурса, который уже существует в той же папке, и использовать его для получения пути к родительской папке, а затем добавить к нему нужное имя файла.
final File myfile = new File(new File(BooleanFact.class.getResource("existingfile").getFile()).getParentFile(), "myfile");
myfile.createNewFile();
Но вы должны заметить, что ресурсы проекта фактически не предназначены для создания во время выполнения. Они должны быть добавлены во время разработки и обычно только для чтения (без изменений).
Если вам нужно обновить некоторые файлы во время выполнения, вы должны использовать обычную файловую систему.