通过代码从当前运行的JAR中提取文件

时间:2012-07-13 14:22:31

标签: java file jar io extract

我是否可以使用任何内置方法来允许用户从当前运行的JAR中提取文件并将其保存在磁盘上?

提前致谢。

3 个答案:

答案 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)?