Java:无法加载图像表单资源文件夹

时间:2019-10-20 10:23:59

标签: java image file

我正在尝试编写一个程序,该程序可以从JRE构建路径中的res文件夹的某个文件夹中加载所有图像,但是我真的不知道如何?

有时它可以在Eclipse中运行,但不能在jar中使用。无论是在Eclipse还是jar文件中运行,有什么方法可以加载res文件夹中的所有图像?

代码:

package Something;

import java.awt.image.BufferedImage;
import java.io.File;
import java.util.HashMap;
import java.util.Map;

public class Images {

    public static Map<String, BufferedImage> images;

    public static void init() {
        images = new HashMap<String, BufferedImage>();
        File f = new File("/PIC");
        loadAllImages(f);
    }

    public static void loadAllImages(final File f) {
        if(f.isDirectory()) {
            for(final File ff : f.listFiles()) {
                loadAllImages(ff);
            }
        }else {
            String s1 = f.getPath();
            String s2 = s1.replace("\\", "/");
            String s3 = s2.substring(s2.lastIndexOf("/")+1);
            images.put(s3, ImageLoader.loadImage(s2));

        }
    }

}

res folder


还有ImageLoader类:

package Something;

import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;

public class ImageLoader {
    public static BufferedImage loadImage(String path){
        try {
            return ImageIO.read(ImageLoader.class.getResource(path));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return null;
    }
}

0 个答案:

没有答案