以下代码授予我访问项目中特定 PNG 资源的权限:
BufferedImage temp = ImageIO.read(Thread.currentThread().getContextClassLoader().getResource("play.png"));
但是,我有 n 个不需要硬编码的图像(“play.png”、“pause.png”等);没有外部图像库(我会简单地使用 File
循环),有没有办法获取项目中的所有图像?
理想情况下,确实是特定源文件夹中的所有文件。或源文件夹。 getResources
似乎只适用于特定命名资源的倍数,这不是我想要的。
编辑:
要清楚,这是一个本地项目/应用程序;它不打算成为 servlet 或以其他方式部署在 Web 上。如果适用,请使用 offline
标签更新问题。
最佳答案
你可以做这样的事情。在这里,我试图在一个 servlet 中获取名为 images
的文件夹中的所有图像。
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String pathToImages = getServletContext().getRealPath("/images");
File[] files = new File(pathToImages).listFiles();
showImages(files);
}
public static void showImages(File[] files) {
for (File file : files) {
System.out.println("File: " + file.getName());
}
}
关于java - 获取 Java 源文件夹中的所有资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33633686/