Java URL Load getManifestAsString(URLClassLoader cl, String jarBaseName)

Here you can find the source of getManifestAsString(URLClassLoader cl, String jarBaseName)

Description

get Manifest As String

License

Open Source License

Declaration

public static String getManifestAsString(URLClassLoader cl, String jarBaseName) 

Method Source Code


//package com.java2s;
/*//from   w  w w  .  j  a va 2s.  c om
 * Japex software ("Software")
 *
 * Copyright, 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
 *
 * Software is 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.
 *
 *    Sun supports and benefits from the global community of open source
 * developers, and thanks the community for its important contributions and
 * open standards-based technology, which Sun has adopted into many of its
 * products.
 *
 *    Please note that portions of Software may be provided with notices and
 * open source licenses from such communities and third parties that govern the
 * use of those portions, and any licenses granted hereunder do not alter any
 * rights and obligations you may have under such open source licenses,
 * however, the disclaimer of warranty and limitation of liability provisions
 * in this License will apply to all Software in this distribution.
 *
 *    You acknowledge that the Software is not designed, licensed or intended
 * for use in the design, construction, operation or maintenance of any nuclear
 * facility.
 *
 * Apache License
 * Version 2.0, January 2004
 * http://www.apache.org/licenses/
 *
 */

import java.io.*;
import java.util.*;

import java.net.URL;
import java.net.URLClassLoader;

public class Main {
    public static String getManifestAsString(URLClassLoader cl, String jarBaseName) {
        try {
            Enumeration<URL> e = ((URLClassLoader) cl).findResources("META-INF/MANIFEST.MF");

            while (e.hasMoreElements()) {
                URL url = e.nextElement();
                String urlString = url.toString();

                // Have we found the right jar?
                if (urlString.indexOf(jarBaseName) > 0) {
                    StringBuilder sb = new StringBuilder();
                    int c;
                    InputStream is = url.openStream();
                    while ((c = is.read()) != -1) {
                        char ch = (char) c;
                        sb.append(Character.isWhitespace(ch) ? ' ' : ch);
                    }
                    return sb.toString();
                }
            }
            return "";
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}

Related

  1. findResourcesFromJar(Collection urls, URL url, String resource, ClassLoader cl)
  2. getBundle(String basename, Locale locale, ClassLoader cl, URL url)
  3. load(Iterable urls)
  4. load(String fileOrURL)
  5. load(URL pUrl)
  6. load(URL url)