com.google.code.yanf4j.util.ResourcesUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xmemcached Show documentation
Show all versions of xmemcached Show documentation
Extreme performance modern memcached client for java
/**
* Copyright [2008] [dennis zhuang] 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
*/
package com.google.code.yanf4j.util;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.util.Properties;
/**
* Resource utils
*
* @author dennis
*
*/
public class ResourcesUtils extends Object {
/** */
/**
* Returns the URL of the resource on the classpath
*
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static URL getResourceURL(String resource) throws IOException {
URL url = null;
ClassLoader loader = ResourcesUtils.class.getClassLoader();
if (loader != null) {
url = loader.getResource(resource);
}
if (url == null) {
url = ClassLoader.getSystemResource(resource);
}
if (url == null) {
throw new IOException("Could not find resource " + resource);
}
return url;
}
/** */
/**
* Returns the URL of the resource on the classpath
*
* @param loader The classloader used to load the resource
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static URL getResourceURL(ClassLoader loader, String resource) throws IOException {
URL url = null;
if (loader != null) {
url = loader.getResource(resource);
}
if (url == null) {
url = ClassLoader.getSystemResource(resource);
}
if (url == null) {
throw new IOException("Could not find resource " + resource);
}
return url;
}
/** */
/**
* Returns a resource on the classpath as a Stream object
*
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static InputStream getResourceAsStream(String resource) throws IOException {
InputStream in = null;
ClassLoader loader = ResourcesUtils.class.getClassLoader();
if (loader != null) {
in = loader.getResourceAsStream(resource);
}
if (in == null) {
in = ClassLoader.getSystemResourceAsStream(resource);
}
if (in == null) {
throw new IOException("Could not find resource " + resource);
}
return in;
}
/** */
/**
* Returns a resource on the classpath as a Stream object
*
* @param loader The classloader used to load the resource
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static InputStream getResourceAsStream(ClassLoader loader, String resource)
throws IOException {
InputStream in = null;
if (loader != null) {
in = loader.getResourceAsStream(resource);
}
if (in == null) {
in = ClassLoader.getSystemResourceAsStream(resource);
}
if (in == null) {
throw new IOException("Could not find resource " + resource);
}
return in;
}
/** */
/**
* Returns a resource on the classpath as a Properties object
*
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static Properties getResourceAsProperties(String resource) throws IOException {
Properties props = new Properties();
InputStream in = null;
String propfile = resource;
in = getResourceAsStream(propfile);
props.load(in);
in.close();
return props;
}
/** */
/**
* Returns a resource on the classpath as a Properties object
*
* @param loader The classloader used to load the resource
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static Properties getResourceAsProperties(ClassLoader loader, String resource)
throws IOException {
Properties props = new Properties();
InputStream in = null;
String propfile = resource;
in = getResourceAsStream(loader, propfile);
props.load(in);
in.close();
return props;
}
/** */
/**
* Returns a resource on the classpath as a Reader object
*
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static InputStreamReader getResourceAsReader(String resource) throws IOException {
return new InputStreamReader(getResourceAsStream(resource));
}
/** */
/**
* Returns a resource on the classpath as a Reader object
*
* @param loader The classloader used to load the resource
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static Reader getResourceAsReader(ClassLoader loader, String resource) throws IOException {
return new InputStreamReader(getResourceAsStream(loader, resource));
}
/** */
/**
* Returns a resource on the classpath as a File object
*
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static File getResourceAsFile(String resource) throws IOException {
return new File(getResourceURL(resource).getFile());
}
/** */
/**
* Returns a resource on the classpath as a File object
*
* @param loader The classloader used to load the resource
* @param resource The resource to find
* @throws IOException If the resource cannot be found or read
* @return The resource
*/
public static File getResourceAsFile(ClassLoader loader, String resource) throws IOException {
return new File(getResourceURL(loader, resource).getFile());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy