`

显示出Jar文件中的所有目录名和文件名,也显示Manifest.mf文件所有属性

阅读更多

//功能:显示出Jar文件中的所有目录名和文件名,同时也显示META-INF/Manifest.mf文件中的所有属性
//用法:提供Jar文件的路径信息
//例如:Java -cp . JarFileView JarFilePath
//eg:  Java -cp . JarFileView F:\JDK\1.4.2\lib\tools.jar

import java.util.Enumeration;
import java.util.Iterator;
import java.util.Set;
import java.util.jar.Attributes;
import java.util.jar.JarFile;
import java.util.jar.Manifest;

public class JarFileView
{
    public JarFileView()
    {
    }

    public static void main(String[] args) throws Exception
    {
        if(args.length != 1)
        {
            showHowToUsage();
            return;
        }

        JarFile jar = null;
        try
        {
         jar = new JarFile(args[0]);
        }
        catch(Exception e)
        {
         System.out.println("Error:Can't Find the " + args[0] + " File!");
         return;
        }

        Enumeration entries = jar.entries();

        //打印JAR文件中的所有目录名和文件名
        while(entries.hasMoreElements())
        {
            Object o = entries.nextElement();
            System.out.println(o);
        }

        // 下面这段代码可以取得META-INF/MANIFEST.MF文件中的所有属性信息
        Manifest man = jar.getManifest();
        Attributes attrs = man.getMainAttributes();
        Set set = attrs.entrySet();
        Iterator i = set.iterator();
        while(i.hasNext())
        {
            Object o = i.next();
            // 打印属性信息
            System.out.println(o);
        }
    }

    public static void showHowToUsage()
    {
        System.out.println("Usage: Java -cp . JarFileView <source files>");
        System.out.println("Usage: Java -classpath . JarFileView <source files>");
        System.out.println("");
        System.out.println("<source files>:\t\tJarFile(Or ZipFile) Path & Name");
    }
}

分享到:
评论

相关推荐

    MANIFEST.MF 文件内容详解(转)

    在Java开发中,MANIFEST.MF文件是每个JAR文件必须包含的文本文件,它定义了程序的主要属性,如主类(Main-Class),版本信息,依赖库等。以下是MANIFEST.MF文件中常见的部分及其作用: 1. **Main-Class**: 这个条目...

    JAR文件包及jar命令详解

    2. **编写MANIFEST文件**:创建一个名为`manifest.mf`的文件,其中至少包含`Main-Class`属性,指明JAR文件的入口类。 - 示例: ``` Main-Class: test.Test ``` 3. **使用`jar`命令**:在命令行中使用`jar`工具来...

    制作可执行的JAR文件包及jar命令详解.doc

    在这个命令中,cvfm是jar命令的选项,test.jar是生成的JAR文件名,manifest.mf是MANIFEST文件的名称,test是要打包的目录。 制作可执行的JAR文件包需要编辑MANIFEST文件,并使用jar命令将Java程序打包成JAR文件包。...

    Jar文件包间接及Jar命令开发实例详解

    jar cvfm &lt;输出Jar文件名&gt;.jar manifest.mf &lt;包含类文件的目录&gt; ``` 其中,`c`表示创建新的Jar文件,`v`表示详细模式,`f`指定Jar文件名,`m`指定MANIFEST.MF文件。 **4. 运行Jar文件** - 在命令行中输入`java -...

    如何生成可执行jar文件

    `cal.jar`是目标JAR文件名,`META-INF/MANIFEST.MF`是清单文件路径,`com/example/*.class`是你要包含的类文件路径。 4. **运行JAR文件**: 创建完成后,可以通过以下命令运行JAR文件: ``` java -jar cal.jar ...

    制作可执行的JAR文件包及jar命令详解

    要使JAR文件具备可执行性,关键在于正确配置`MANIFEST.MF`中的`Main-Class`属性,该属性指定了JAR文件启动时的主类,即包含`public static void main(String[] args)`方法的类。 **步骤如下:** 1. **创建MANIFEST...

    JAR文件包及jar命令详解.rar

    - **MANIFEST.MF**:这是JAR文件的核心元数据,包含主要类(Main-Class)和其他重要属性。 - **类文件**:.class文件,包含编译后的Java代码。 - **资源文件**:如图片、配置文件等,与Java程序一起使用。 2. **...

    可执行jar文件.以及执行命令

    - **在命令行中指定主类**:如果JAR没有`MANIFEST.MF`或主类不在`MANIFEST.MF`中,可以指定主类和JAR文件: ``` java -cp myapp.jar com.example.MyApp ``` 4. **源码管理**:在开发过程中,源码通常被版本控制...

    生成可双击运行的Jar文件

    这里,`c`表示创建新的JAR文件,`m`表示使用MANIFEST.MF,`f`指定输出的JAR文件名,`com/example/*`是你要打包的类文件或目录。 4. **使用IDE打包**:大多数IDE都有内置的打包功能,可以自动处理MANIFEST.MF和类...

    java的jar文件生成.pdf

    - 使用`-c`选项创建新的JAR文件,`-v`选项显示详细过程,`-f`选项指定JAR文件名。 可以添加`-m`选项指定清单文件,`-M`选项禁用清单文件的自动创建。 2. **Eclipse IDE** 在集成开发环境(IDE)如Eclipse中,...

    java 程序都编译成执行文件jar命令详解

    JAR 文件不仅是一个压缩格式,类似于 ZIP,它还包含了一个名为 `META-INF/MANIFEST.MF` 的特殊文件,用于存储元数据,比如程序的主要类(Main-Class)等。JAR 文件的使用能够保留 Java 的跨平台特性,因为它不依赖于...

    Java打包成jar文件,以及将jar文件导出为exe文件方法汇总.pdf

    2. 使用`jar cfm jar_file_name.jar MANIFEST.MF *.class`命令,其中`c`表示创建新jar,`f`是jar文件名,`m`是清单文件名,`*.class`表示所有编译后的类文件。 将jar文件转换为exe文件,可以使用exe4j等工具。以下...

    JAR文件详解和相关实例

    3. **打包 JAR 文件:** 使用 `jar` 命令将 `.class` 文件和 `MANIFEST.MF` 打包到 JAR 文件中。 **示例:** 假设我们有一个简单的 Java 类 `Test.java`,位于目录 `test/` 下。该类包含 `public static void main...

    生成可执行jar文件的教程

    **示例2**:使用现有的`manifest`文件`mymanifest`将`foo/`目录下的所有文件存档到一个名为`classes.jar`的存档文件中。 ```sh jar cvfm classes.jar mymanifest -C foo/ . ``` #### 六、总结 通过本教程的学习,...

    jar命令集合

    通过指定MANIFEST.MF文件,开发者可以定义JAR包的行为和属性,这对于应用程序的启动和运行至关重要。 #### 五、总结 JAR命令为Java开发者提供了强大的工具来管理和操作JAR文件。熟练掌握JAR命令及其参数对于Java...

    制作可运行的JAR包.txt

    但是与普通的ZIP文件不同的是,JAR文件具有一个特殊的目录结构,并且包含了一个名为`META-INF/MANIFEST.MF`的文件,该文件定义了JAR文件的一些基本属性。 **1. JAR文件结构** - **`META-INF/MANIFEST.MF`**:这是...

    Java软件开发实战 Java基础与案例开发详解 17-5 手动生成可执行JAR文件 共8页.pdf

    - **示例**:假设MANIFEST文件名为`manifest.txt`,输出的JAR文件名为`chess.jar`,并且当前目录下有所有`.class`文件,则命令为: ```bash jar cvmf manifest.txt chess.jar *.class ``` ##### 3.4 运行JAR文件...

Global site tag (gtag.js) - Google Analytics