/** * 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 = Resources.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 = Resources.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; }
JAVA读取资源文件的方法整理
无论是java app应用,还是java web应用,基本都会用到读取目标文件中的资源文件,以下整理出常用的资源读取方法,备忘:
猜你喜欢
转载自forgidaved.iteye.com/blog/1665639
今日推荐
周排行