Я пытаюсь написать программу, которая может загружать все изображения из папки res из папки в пути сборки JRE, но я действительно не знаю, как?
Иногда это работает в Eclipse, ноэто не в банке. Можно ли как-нибудь загрузить все изображения в папку res, независимо от того, запускаю ли я их в Eclipse или в jar-файле?
Код:
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;
}
}