java:如何将jar文件中的目录复制到tmp目录?

时间:2011-06-07 16:46:42

标签: java jar directory copy

我知道如何在Java中创建临时目录,但是有一种简单的方法可以将Java文件从jar文件复制到此目录吗?

File tmpDir = new File(System.getProperty("java.io.tmpdir"));
File helpDir = new File(tmpDir, "myApp-help");
helpDir.createNewFile(); // oops, this isn't right, I want to create a dir
URL helpURL = getClass().getResource("/help-info");  

/* ???? I want to copy the files from helpURL to helpDir */

Desktop desktop = Desktop.getDesktop();
URI helpURI = /* some URI from the new dir's index.html */
desktop.browse(helpURI);

2 个答案:

答案 0 :(得分:1)

Apache的org.apache.commons.io.FileUtils可以为您做到这一点

创建目录使用File.mkdir();

使用org.apache.commons.io.FileUtils.toFile(URL)

将网址转换为文件

使用org.apache.commons.io.FileUtils.copyFile()进行复制。

答案 1 :(得分:0)

您可以使用命令jar tf [here your jarfile]。这将列出JAR Archive的内容及其相对于jarfile的完整路径(1行= 1文件)。检查该行是否以要提取的目录的路径开头,并使用Class.getResourceAsStream(URL)作为匹配行并将其提取到临时文件夹。

以下是jar tf的示例输出:

META-INF/MANIFEST.MF
TicTacToe.class
audio/
audio/beep.au
audio/ding.au
audio/return.au
audio/yahoo1.au
audio/yahoo2.au
images/
images/cross.gif
images/not.gif