用命令行解压.jar文件
我试图从.jar文件中提取文件。 我如何使用命令行来做到这一点?
我正在运行Windows 7
从文档 :
要从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
的位置在您的path环境variables中,否则您必须指定完整path/从文件夹内运行程序。
编辑:这是另一篇文章,特别关注于提取JAR: http : //docs.oracle.com/javase/tutorial/deployment/jar/unpack.html
请注意,一个jar文件是一个Zip文件,任何Zip工具(如7-Zip)都可以查看jar文件。
在Ubuntu中:
unzip file.jar -d dir_name_where_extracting
你可以使用下面的命令: jar xf rt.jar
其中X
表示提取, f
表示提取文件的JAR文件的任何选项都是在命令行中指定的,而不是通过stdin。
jar xf myFile.jar
将myFile更改为您的文件的名称
这会将内容保存在.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。
替代方法也是getNextJarEntry,而不是getNextEntry
要通过命令提示符将jar提取到指定的文件夹中,请使用此命令
C:\Java> jar xf myFile.jar -C "C:\tempfolder"
给定一个名为Me.Jar的文件:
- 去cmd
- 按Enter键
-
使用Java
jar
命令 – 我正在使用jdk1.8.0_31,所以我会inputC:\ Program Files(x86)\ Java \ jdk1.8.0_31 \ bin \ jar xf me.jar
这应该提取文件到文件夹bin。 在我的例子中查找文件.class我的Me.jar包含一个Valentine.class
inputjava Valentine
,然后按Enter,你的消息文件将被打开。