集册 Java实例教程 获取Jar Manifest

获取Jar Manifest

欢马劈雪     最近更新时间:2020-01-02 10:19:05

457
获取Jar Manifest

/*

 * (C) Copyright 2006-2011 Nuxeo SA (http://nuxeo.com/) and contributors.

 *

 * Licensed under the Apache License, Version 2.0 (the "License");

 * you may not use this file except in compliance with the License.

 * You may obtain a copy of the License at

 *

 *     http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 * 

 * Contributors:

 *     Nuxeo - initial API and implementation

 *

 * $Id$

 */
 /*
 来 自*
  时代Java - N o w  J a v a . c o m
 */

//package com.nowjava;

import java.io.File;

import java.io.FileInputStream;


import java.io.IOException;

import java.net.URL;


import java.util.jar.JarFile;

import java.util.jar.Manifest;


public class Main {

    public static Manifest getJarManifest(File file) throws IOException {

        JarFile jar = null;//时 代 J a v a 公 众 号 - N o w J a v  a . c o m

        try {

            jar = new JarFile(file);

            return jar.getManifest();

        } finally {

            if (jar != null) {

                jar.close();

            }

        }

    }


    public static Manifest getManifest(File file) {

        try {

            if (file.isDirectory()) {

                return getDirectoryManifest(file);

            } else {

                return getJarManifest(file);

            }

        } catch (IOException ignored) {

            return null;

        }

    }


    public static Manifest getManifest(URL url) {

        try {

            return new JarFile(new File(url.getFile())).getManifest();

        } catch (IOException e) {

            return null;

        }

    }


    public static Manifest getDirectoryManifest(File file)

            throws 
展开阅读全文