devxlogo

Loading from the Classpath

Loading from the Classpath

If your application includes .properties files or images and you want to load them without hard-coding their location, store the files in the class path. Classes are stored in archive files (.jar or .zip) or directories. Loading them is easy. Here’s how:

 import java.awt.Toolkit;import java.awt.Image;import java.io.InputStream;import java.io.IOException;import java.net.URL;import java.util.Properties;public class ResourceLoader {static public Properties loadProperties(String name) {ClassLoader loader = ClassLoader.getSystemClassLoader();if(loader != null) {URL url = loader.getResource(name);if(url == null) {url = loader.getResource("/"+name);}if(url != null) {try {InputStream in = url.openStream();Properties props = new Properties();props.load(in);return props;} catch(IOException ioe) {}}}return null;}static public Image loadImage(String name) {ClassLoader loader = ClassLoader.getSystemClassLoader();if(loader != null) {URL url = loader.getResource(name);if(url == null) {url = loader.getResource("/"+name);}if(url != null) {Toolkit tk = Toolkit.getDefaultToolkit();Image img = tk.getImage(url);return img;}}return null;}}

devx-admin

Share the Post: