Java Resource Path Get getResourceStream(String path)

Here you can find the source of getResourceStream(String path)

Description

get Resource Stream

License

Apache License

Declaration

public static InputStream getResourceStream(String path) 

Method Source Code

//package com.java2s;
/*/* w  w w .  ja  va  2s.co m*/
 * Copyright 2004-2011 the Seasar Foundation and the Others.
 *
 * 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.
 */

import java.io.IOException;
import java.io.InputStream;

import java.net.URL;
import java.net.URLConnection;

import java.util.jar.JarFile;
import java.util.zip.ZipEntry;

public class Main {
    public static InputStream getResourceStream(String path) {
        return getResourceStream(path, null);
    }

    public static InputStream getResourceStream(String path,
            String extension) {
        final URL url = getResourceUrl(path, extension);
        return url != null ? openStream(url) : null;
    }

    public static URL getResourceUrl(String path) {
        return getResourceUrl(path, null);
    }

    public static URL getResourceUrl(String path, String extension) {
        return getResourceUrl(path, extension, Thread.currentThread()
                .getContextClassLoader());
    }

    public static URL getResourceUrl(String path, String extension,
            ClassLoader loader) {
        if (path == null || loader == null) {
            return null;
        }
        path = getResourcePath(path, extension);
        return loader.getResource(path);
    }

    public static InputStream openStream(URL url) {
        try {
            URLConnection connection = url.openConnection();
            connection.setUseCaches(false);
            return connection.getInputStream();
        } catch (IOException e) {
            String msg = "Failed to open the stream: url=" + url;
            throw new IllegalStateException(msg, e);
        }
    }

    public static String getResourcePath(String path, String extension) {
        if (extension == null) {
            return path;
        }
        extension = "." + extension;
        if (path.endsWith(extension)) {
            return path;
        }
        return path.replace('.', '/') + extension;
    }

    public static String getResourcePath(Class<?> clazz) {
        return clazz.getName().replace('.', '/') + ".class";
    }

    public static URLConnection openConnection(URL url) {
        try {
            URLConnection connection = url.openConnection();
            connection.setUseCaches(false);
            return connection;
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
    }

    public static InputStream getInputStream(JarFile file, ZipEntry entry) {
        try {
            return file.getInputStream(entry);
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
    }
}

Related

  1. getResourcePath(String resource)
  2. getResources(ClassLoader cl, String resourcePath)
  3. getResources(String path, ClassLoader loader)
  4. getResources(String resourcePath, Class caller)
  5. getResourceStream(final String bundle, final String path)
  6. getStringFromResource(Class clazz, String path)
  7. getSystemResource(String path)
  8. getSystemResource(String path)
  9. loadResource(final Class bundleClazz, final Class resourceTypeclazz, final String pathToFile)