我正在尝试编写一个程序,该程序可以从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));
}
}
}
还有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;
}
}