我是否可以使用任何内置方法来允许用户从当前运行的JAR中提取文件并将其保存在磁盘上?
提前致谢。
答案 0 :(得分:17)
File file = new File("newname.ext");
if (!file.exists()) {
InputStream link = (getClass().getResourceAsStream("/path/resources/filename.ext"));
Files.copy(link, file.getAbsoluteFile().toPath());
}
答案 1 :(得分:9)
使用getResourceAsStream
(docs),之后你可以随心所欲地做任何事情。
对于双人班轮,您可以使用one of the Commons IO copy methods。
答案 2 :(得分:0)
我不确定你是否会知道你的类正在执行哪个jar但是你可以尝试从jar中提取资源: How to write a Java program which can extract a JAR file and store its data in specified directory (location)?