阅读量:0
在Java中,getResources()
方法通常用于ClassLoader
或Class
实例,以获取资源文件。这些资源可以是文本文件、图片、音频等。以下是如何使用getResources()
方法获取数据的示例:
- 获取
ClassLoader
的getResources()
方法:
ClassLoader classLoader = getClass().getClassLoader(); Enumeration<URL> resources = classLoader.getResources("data/example.txt");
这将返回一个包含所有找到的资源的URL枚举。你可以遍历这个枚举并读取资源文件的内容:
while (resources.hasMoreElements()) { try { URL resource = resources.nextElement(); InputStream inputStream = resource.openStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } reader.close(); } catch (IOException e) { e.printStackTrace(); } }
- 获取
Class
实例的getResources()
方法:
Class<?> clazz = getClass(); Enumeration<URL> resources = clazz.getResources("data/example.txt");
这与获取ClassLoader
的getResources()
方法类似。遍历枚举并读取资源文件的内容:
while (resources.hasMoreElements()) { try { URL resource = resources.nextElement(); InputStream inputStream = resource.openStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } reader.close(); } catch (IOException e) { e.printStackTrace(); } }
注意:getResources()
方法返回的资源名称应以/
开头。在上面的示例中,我们尝试获取名为data/example.txt
的资源。如果资源位于包内,请确保提供完整的资源路径。