提取 JAR 文件的内容
用于提取 JAR 文件内容的基本命令是:
jar xf jar-file [archived-file(s)]
让我们看一下此命令中的选项和参数:
-
x
选项表示您要从 JAR 存档中“提取”文件。 -
f
选项指示在命令行上而不是通过 stdin 指定要从中提取文件的 JAR * file *。 -
jar\-file
参数是从中提取文件的 JAR 文件的文件名(或路径和文件名)。 -
archived\-file\(s\)
是一个可选参数,由要从存档中提取的文件的空格分隔列表组成。如果不存在此参数,则 Jar 工具将提取存档中的所有文件。
与往常一样,命令中x
和f
选项出现的 Sequences 无关紧要,但是它们之间不能有空格。
提取文件时,Jar 工具会复制所需文件并将其写入当前目录,从而重现文件在归档文件中的目录结构。原始 JAR 文件保持不变。
Caution:
提取文件时,Jar 工具将覆盖与提取的文件具有相同路径名的所有现有文件。
An Example
让我们从上一节中一直使用的 TicTacToe JAR 文件中提取一些文件。回想一下TicTacToe\.jar
的内容是:
META-INF/MANIFEST.MF
TicTacToe.class
TicTacToe.class
TicTacToe.java
audio/
audio/beep.au
audio/ding.au
audio/return.au
audio/yahoo1.au
audio/yahoo2.au
example1.html
images/
images/cross.gif
images/not.gif
假设您要提取TicTacToe
类文件和cross\.gif
图像文件。为此,可以使用以下命令:
jar xf TicTacToe.jar TicTacToe.class images/cross.gif
此命令有两件事:
-
它将
TicTacToe\.class
的副本放置在当前目录中。 -
如果目录
images
尚不存在,它将创建目录images
,并在其中放置cross\.gif
的副本。
原始的 TicTacToe JAR 文件保持不变。
可以按照相同的方式从 JAR 文件中提取所需数量的文件。当命令未指定要提取的文件时,Jar 工具将提取存档中的所有文件。例如,您可以使用以下命令来提取 TicTacToe 存档中的所有文件:
jar xf TicTacToe.jar