Answers:
从文档:
要从jar文件中提取文件,请使用
x
,如下所示:C:\Java> jar xf myFile.jar
要仅从jar文件中提取某些文件,请提供其文件名:
C:\Java> jar xf myFile.jar foo bar
该文件夹jar
可能不C:\Java
适合您,在我的Windows分区上是:
C:\Program Files (x86)\Java\jdk[some_version_here]\bin
除非的位置jar
在您的路径环境变量中,否则您必须指定完整路径/从文件夹内部运行程序。
编辑:这是另一篇文章,专门针对提取JAR:http : //docs.oracle.com/javase/tutorial/deployment/jar/unpack.html
jar.exe
文件夹的完整路径或从文件夹内部运行它。
您可以使用以下命令: jar xf rt.jar
其中X
代表提取的地方是,并且f
选项将指示在命令行中而不是通过stdin指定要从中提取文件的JAR文件。
Java有一个专门用于zip文件的类,还有一个专门用于Jar文件的类。
java.util.jar.JarOutputStream
java.util.jar.JarInputStream
使用控制台上的命令,使用设置为system.in的扫描仪,
Scanner console = new Scanner(System.in);
String input = console.nextLine();
然后获取所有组件并将它们写为文件。
JarEntry JE = null;
while((JE = getNextJarEntry()) != null)
{
//do stuff with JE
}
您还可以改用java.util.zip.ZipInputStream,因为看到JAR文件与ZIP文件的格式相同,ZipInputStream将能够处理Jar文件,实际上JarInputStream实际上扩展了ZipInputStream。
另外一种替代方法是使用getNextEntry代替getNextJarEntry
要将jar提取到指定的文件夹中,请通过命令提示符使用此命令
C:\Java> jar xf myFile.jar -C "C:\tempfolder"
-C
只能在创建jar文件时使用。
unzip file.jar -d dir_name_where_extracting
,在Windows上,您必须将JAR复制/移动到目标文件夹,然后将其解压缩到其中...