Are there any built-in methods I can use to allow users to extract a file from the currently running JAR and save it on their disk?
Thanks in advance.
File file = new File("newname.ext"); if (!file.exists()) { InputStream link = (getClass().getResourceAsStream("/path/resources/filename.ext")); Files.copy(link, file.getAbsoluteFile().toPath()); } getClass is supposed to be. Where does it come from and which class does it have to be?Use getResourceAsStream (docs), you can do whatever you want with it after that.
For a two-liner you could use one of the Commons IO copy methods.
I am not sure whether you will get know from which jar your class is getting executed but you can try this to extract resources from jar : How to write a Java program which can extract a JAR file and store its data in specified directory (location)?