将jar文件中的目录保存到用户的磁盘

时间:2014-03-26 13:32:33

标签: java jar embedded-resource

我需要将资源文件目录从当前运行的JAR文件保存到用户磁盘上的临时目录。

目前,我一个接一个地保存文件。但是现在我有一个大型的本机库文件夹来保存,我宁愿不保存这种方式。

我尝试了当前的代码,以防它将目录视为文件并保存它。

public void saveResource(String name, File outFile) {
    try (InputStream in = this.getClass().getResourceAsStream(
            name);
            OutputStream out = new FileOutputStream(outFile);) {

        int read = 0;
        byte[] bytes = new byte[1024];

        while ((read = in.read(bytes)) != -1) {
            out.write(bytes, 0, read);
        }

    } catch (IOException ex) {
        ex.printStackTrace();
    }
}

但遗憾的是,它没有奏效。那么将资源目录保存到磁盘的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您需要遍历该文件夹中的所有文件并逐个保存文件。我想这就是你现在正在做的事情。您无法完全复制该文件夹。

或者您可以使用commons-io FileUtils