我知道如何在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);
答案 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