java:如何将jar文件中的目录复制到tmp目录?
我知道如何用Java创建一个临时目录,但是有没有一种简单的方法可以将Java文件从jar文件复制到这个目录java:如何将jar文件中的目录复制到tmp目录?,java,jar,directory,copy,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
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);
Apache的
org.Apache.commons.io.FileUtils
可以为您做到这一点
要创建目录,请使用File.mkdir()代码>
使用org.apache.commons.io.FileUtils.toFile(URL)
使用org.apache.commons.io.FileUtils.copyFile()
进行复制。apache的org.apache.commons.io.FileUtils
可以为您完成这一任务
要创建目录,请使用File.mkdir()代码>
使用org.apache.commons.io.FileUtils.toFile(URL)
使用org.apache.commons.io.FileUtils.copyFile()
进行复制。您可以使用命令jartf[这里是您的jarfile]
。这将列出JAR归档文件的内容及其相对于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
META-INF/MANIFEST.MF
提克塔克
音频/
音频/beep.au
音频/丁欧
audio/return.au
音频/yahoo1.au
音频/yahoo2.au
图像/
image/cross.gif
图像/not.gif
您可以使用命令jartf[这里是您的jarfile]
。这将列出JAR归档文件的内容及其相对于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
META-INF/MANIFEST.MF
提克塔克
音频/
音频/beep.au
音频/丁欧
audio/return.au
音频/yahoo1.au
音频/yahoo2.au
图像/
image/cross.gif
图像/not.gif
嗯,可能是hmm的重复,可能是它的重复,不是他的目录不能像文件一样处理,因为它在JAR里面。我的错误,我认为他在war
中有资源,所以它们已经被部署者提取。不是他的目录不能像文件一样处理,因为它在JAR里面。我的错误,我以为他在战争
中拥有资源,因此部署人员已经提取了这些资源。