如何查找jar文件中的文件数

时间:2014-05-22 21:47:12

标签: java metrics

我是java的初学者,这实际上不是一个程序问题,但我想从你们那里得到一些关于如何获取.jar java文件中文件数量的建议?我可以使用任何度量工具(考虑它的.jar文件)吗?

3 个答案:

答案 0 :(得分:4)

由于.jar个文件只是.zip个文件,您可以使用相同的工具来处理它们。在* nix上,如果要列出JAR中的所有文件:

$ unzip -l filename.jar

将产生类似于以下的输出:

Archive:  filename.jar
  Length     Date   Time    Name
 --------    ----   ----    ----
     1211  03-03-14 13:06   bar/foo/swing/window/FrameOperatorFactory.class
     2344  03-03-14 13:06   bar/foo/swing/window/FrameOperator.class
     1509  06-30-07 14:03   LICENSE.txt
 --------                   -------
  5184390                   3 files

(以上输出只是一个例子。)

如果您只想要*.class个文件:

$ unzip -l filename.jar | grep \.class | wc -l

如果你想要更多的控制权,你可能最好解压缩并以这种方式处理文件。

答案 1 :(得分:0)

您应该只能使用zip工具(有警告,见下文)或jar。来自wikipedia

  

在软件中,JAR(Java ARchive)是一种包文件格式,通常用于将许多Java类文件和相关的元数据和资源(文本,图像等)聚合到一个文件中,以在Java平台上分发应用程序软件或库[3]

     

JAR文件是基本的存档文件,基于ZIP文件格式构建,并具有.jar文件扩展名。计算机用户可以使用JDK附带的jar命令创建或提取JAR文件。他们也可以使用拉链工具这样做;但是,压缩时zip文件头中的条目顺序很重要,因为清单通常需要先行。在JAR中,文件名是unicode文本。[4]

答案 2 :(得分:0)

您可以使用以下命令查找特定jar文件中的类数

jar tvf {jar location with jar name} | grep .class | wc -l

例如:

jar tvf launcher/target/user.jar | grep .class | wc -l