在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
的資源。如果資源位于包內,請確保提供完整的資源路徑。