提取jar内容并存储在目标文件夹中

时间:2011-04-15 08:43:08

标签: java jar

我如何能够提取存储在任何jar文件中的子文件夹中的所有文件夹,子文件夹,所有文件和文件以及文件夹,并将这些内容opy放入java中的目标文件夹中,同时在eclipse平台中进行编码.... .....  任何人都可以建议我......  我尝试了许多与zipinput流相关的代码。在enumeretion中存储zipfile实体并将其写入detination文件夹。但没有一个正常......

3 个答案:

答案 0 :(得分:0)

调用

jar xf yourApp.jar

来自java,它会做。

另见

答案 1 :(得分:0)

如果您想要基于Eclipse的解决方案,请选择

File menu > Import ... > General > Archive File

但是如果你想要一个Java代码解决方案,这里有一个使用Guava

public static void unpackZipFile(final File archive, final File targetDirectory)
throws ZipException, IOException {
    ZipFile zipFile = new ZipFile(archive);
    Enumeration<? extends ZipEntry> entries = zipFile.entries();
    while (entries.hasMoreElements()) {
        final ZipEntry zipEntry = entries.nextElement();
        if (zipEntry.isDirectory())
            continue;
        final File targetFile = new File(targetDirectory,
            zipEntry.getName());
        Files.createParentDirs(targetFile);
        ByteStreams.copy(zipFile.getInputStream(zipEntry), Files
            .newOutputStreamSupplier(targetFile).getOutput());
    }
}

答案 2 :(得分:0)

我写了一个助手类来做到这一点:

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/util/zip/ZipFiles.html

您可以在我的博客中更多地了解最新版本以及如何获取它:

http://puces-blog.blogspot.com/2011/03/news-from-software-smithy.html