首页 >Java >java教程 >如何将JAR文件内容提取到指定目录?

如何将JAR文件内容提取到指定目录?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-27 00:53:31521浏览

How to Extract JAR File Contents into a Specified Directory?

将 JAR 文件内容提取到指定目录

问题:

您有一个 JAR 文件,需要提取其内容到特定目录。运行“jar -xf filename.jar”命令会返回错误。

解决方案:

使用现有示例:

  • 请参阅本指南,了解如何从 JAR 和 ZIP 存档中提取 Java 资源:https://examples.javacodegeeks.com/core-java/java-util-jar-extract-resources-from-jar-and-zip -archive-example/.

自定义代码:

或者,使用以下代码:

<code class="java">// JAR file to extract
java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile);

// Extract all entries
java.util.Enumeration enumEntries = jar.entries();
while (enumEntries.hasMoreElements()) {
    // Get the entry
    java.util.jar.JarEntry file = (java.util.jar.JarEntry) enumEntries.nextElement();

    // Create a file object
    java.io.File f = new java.io.File(destDir + java.io.File.separator + file.getName());

    // If the entry is a directory, create it
    if (file.isDirectory()) {
        f.mkdir();
        continue;
    }

    // Otherwise, extract the file
    java.io.InputStream is = jar.getInputStream(file); // Input stream
    java.io.FileOutputStream fos = new java.io.FileOutputStream(f); // Output stream

    // Write the file contents
    while (is.available() > 0) {
        fos.write(is.read());
    }

    // Close streams
    fos.close();
    is.close();
}

// Close the JAR file
jar.close();</code>

源: http://www.devx.com/tips/Tip/22124

以上是如何将JAR文件内容提取到指定目录?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn