java - 获取 Java 源文件夹中的所有资源

标签 java bufferedimage embedded-resource offline

以下代码授予我访问项目中特定 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/

相关文章:

java - 更改现有 BufferedImage 的颜色空间?

Java ImageIO 异常

java - libgdx 桌面应用程序屏幕闪烁

JavaFX 文本区域 : how to set tabulation width

java - 将 bufferedimage 移动 1 行或列

Java - 如何压缩 BufferedImage?

java - 如何强制 Proguard 保留我的 .xml 资源文件?

java - 在命令行上运行时,使用 getResourceAsStream() 列出文件为空

Java - 正在执行方法的对象可以被垃圾收集吗?

java - 如何从ResourceBundle切换到Properties(类)?