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.
Dave Newton
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.
Renato
File file = new File("newname.ext");
if (!file.exists()) {
InputStream link = (getClass().getResourceAsStream("/path/resources/filename.ext"));
Files.copy(link, file.getAbsoluteFile().toPath());
}
GuruKulki
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)?
来源:https://stackoverflow.com/questions/11472408/extracting-a-file-from-the-currently-running-jar-through-code