gpt4 book ai didi

java - 如何编写可以提取 JAR 文件并将其数据存储在指定目录(位置)的 Java 程序?

转载 作者:IT老高 更新时间:2023-10-28 21:04:39 25 4
gpt4 key购买 nike

我创建了一个 JAR文件。现在,我创建了另一个 Java 程序。我想在其他目录中解压该 JAR 文件,这意味着我想做解压缩之类的事情。

如果我运行 jar -xf filename.jar 这会导致一些错误:

Exception in thread "main" java.io.IOException: Cannot run program "jar": 
java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)`

最佳答案

修改这个例子:How to extract Java resources from JAR and zip archive

或者试试这个代码:

Extract the Contents of ZIP/JAR Files Programmatically

Suppose jarFile is the jar/zip file to be extracted. destDir is the path where it will be extracted:

java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile);
java.util.Enumeration enumEntries = jar.entries();
while (enumEntries.hasMoreElements()) {
java.util.jar.JarEntry file = (java.util.jar.JarEntry) enumEntries.nextElement();
java.io.File f = new java.io.File(destDir + java.io.File.separator + file.getName());
if (file.isDirectory()) { // if its a directory, create it
f.mkdir();
continue;
}
java.io.InputStream is = jar.getInputStream(file); // get the input stream
java.io.FileOutputStream fos = new java.io.FileOutputStream(f);
while (is.available() > 0) { // write contents of 'is' to 'fos'
fos.write(is.read());
}
fos.close();
is.close();
}
jar.close();

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

关于java - 如何编写可以提取 JAR 文件并将其数据存储在指定目录(位置)的 Java 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1529611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com