以下代码授予我访问项目中特定PNG资源的权限:
BufferedImage temp = ImageIO.read(Thread.currentThread().getContextClassLoader().getResource("play.png"));
但是,我有 n 图像,我没有必要进行硬编码(“play.png”,“pause.png”等);没有外部图像库(我只是通过File
循环),有没有办法获取项目中的所有图像?
理想情况下,特定源文件夹中的所有文件都是。或源文件夹。 getResources
似乎只适用于特定命名资源的倍数,这不是我想要的。
修改:
要明确的是,这是一个本地项目/应用程序;它不是一个servlet或以其他方式部署在Web上。如果适用,请使用offline
标记更新问题。
答案 0 :(得分:1)
你可以这样做。我试图将所有图像都放在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());
}
}