import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
public class ResourceUtil {
/**
* 获取资源流
*
* @param resourceName
* @return
*/
public static InputStream getResourceAsStream(String resourceName) {
return getResourceAsStream(resourceName, null);
}
/**
* 获取资源流
*
* @param resourceName
* @param callingClass
* @return
*/
public static InputStream getResourceAsStream(String resourceName, Class<?> callingClass) {
URL url = getResource(resourceName, callingClass);
try {
return (url != null) ? url.openStream() : null;
} catch (IOException e) {
return null;
}
}
/**
* 获取资源URL
*
* @param resourceName
* @return
*/
public static URL getResource(String resourceName) {
return getResource(resourceName, null);
}
/**
* 获取资源URL
*
* @param resourceName
* @param callingClass
* @return
*/
public static URL getResource(String resourceName, Class<?> callingClass) {
URL url = null;
url = Thread.currentThread().getContextClassLoader().getResource(resourceName);
if (null == url) {
url = ResourceUtil.class.getClassLoader().getResource(resourceName);
}
if (null == url && null != callingClass) {
url = callingClass.getClassLoader().getResource(resourceName);
}
return url;
}
}
转载于:https://my.oschina.net/easy3399/blog/1594629
本文介绍了一个Java实用类ResourceUtil,提供了从不同类加载器获取资源流和URL的方法,适用于多种资源加载场景。
2万+

被折叠的 条评论
为什么被折叠?



