Java Resource File getAllResources(Class clazz, String resource)

Here you can find the source of getAllResources(Class clazz, String resource)

Description

get All Resources

License

Apache License

Declaration

public static URL[] getAllResources(Class<?> clazz, String resource) 

Method Source Code

//package com.java2s;
/*//from  w ww  .ja v a  2  s.c om
 * Copyright 2013 Primeton.
 *
 * 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.net.URL;

import java.util.ArrayList;
import java.util.Enumeration;

public class Main {

    public static URL[] getAllResources(Class<?> clazz, String resource) {
        if (resource == null || resource.trim().length() == 0) {
            throw new IllegalArgumentException("resource is null!");
        }
        ArrayList<URL> urlList = new ArrayList<URL>();
        if (clazz != null) {
            URL url = clazz.getResource(resource);
            if (url != null) {
                urlList.add(url);
            }
            try {
                Enumeration<URL> urls = clazz.getClassLoader().getResources(resource);
                while (urls.hasMoreElements()) {
                    urlList.add(urls.nextElement());
                }
            } catch (Throwable ignore) {
            }
        }
        try {
            Enumeration<URL> urls = Thread.currentThread().getContextClassLoader().getResources(resource);
            while (urls.hasMoreElements()) {
                urlList.add(urls.nextElement());
            }
        } catch (Throwable ignore) {
        }
        return urlList.toArray(new URL[0]);
    }

    public static URL getResource(Class<?> clazz, String resource) {
        if (resource == null || resource.trim().length() == 0) {
            throw new IllegalArgumentException("resource is null!");
        }
        URL url = null;
        if (clazz != null) {
            url = clazz.getResource(resource);
            if (url == null) {
                if (clazz.getClassLoader() != null) {
                    url = clazz.getClassLoader().getResource(resource);
                }
            }
        }
        if (url == null) {
            url = Thread.currentThread().getContextClassLoader().getResource(resource);
        }

        return url;
    }
}

Related

  1. copyDecompressed(String resource, File output)
  2. copyResource(String name)
  3. expendResource(String fileName)
  4. getBaseLineFolder(String resourceFile)
  5. getBundlesContainingResource(BundleContext bundleContext, String resourcePattern)
  6. getBytes(Class contextClass, String resourceName)
  7. getClassResource(Class clazz)