java获取resource文件路径的方法
匿名提问者2023-09-21
java获取resource文件路径的方法
推荐答案
除了使用类加载器,我们还可以使用 ClassLoader.getResourceAsStream("example.txt") 获取 resource 文件的输入流,并进一步获取文件的路径。以下是一个示例代码,展示了如何使用 getResourceAsStream() 方法来获取 resource 文件的路径:
public class ResourcePathExample {
public static void main(String[] args) {
InputStream inputStream = ResourcePathExample.class.getClassLoader()
.getResourceAsStream("example.txt");
if (inputStream != null) {
try {
File file = File.createTempFile("temp", ".txt");
FileOutputStream outputStream = new FileOutputStream(file);
int bytesRead;
byte[] buffer = new byte[1024];
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
outputStream.close();
String resourcePath = file.getAbsolutePath();
System.out.println("resource 文件路径:" + resourcePath);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
在这个例子中,getResourceAsStream("example.txt") 方法返回一个输入流(InputStream),我们可以将其写入一个临时文件。然后,使用 File.getAbsolutePath() 方法获取临时文件的路径,即为 resource 文件的路径。