У меня есть функция loadImage
для получения изображений. Это не работает, когда я пытаюсь получить файл из функции getFile()
.Есть ли способ получить файл из папки res с помощью метода ClassLoader и getClass()
public BufferedImage loadImage(String img) {
BufferedImage bimg = null;
try {
bimg = ImageIO.read(new File("res/" + img));
} catch (Exception e1) {
try {
bimg = ImageIO.read(ClassLoader.getSystemResource("res/" + img));
} catch (Exception e2) {
try {
bimg = ImageIO.read(getClass().getResource("res/" + img));
} catch (Exception e3) {
System.out.println("Cannot load image: " + img);
}
}
}
return bimg;
}
Я попытался с помощью следующей функции:
public File getFile(String file) {
File f = null;
try {
f = new File("res/" + file);
} catch (Exception e1) {
try {
f = new File(ClassLoader.getSystemResource("res/" + file).getFile());
} catch (Exception e2) {
try {
f = new File(getClass().getResource("res/" + file).getFile());
} catch (Exception e3) {
System.out.println("Cannot load File: " + file);
}
}
}
return f;
}
Эти функции находятся в баночке Lib и мой другой проект хотят получить файл из баночки Lib.
Это в моем проекте пытается получить config.cfg файл из баночки Lib
File file = files.getFile("config.cfg");
Я открыл банку и проверил, если файл существует в банке.
Ужасного исключение ловли – m0skit0
Когда я получаю путь он дает мне этот файл:/C:/Пользователи/8803286/Dropbox/Workspace/Eclipse/Programs/Sinx% 20Core/build/jar/SinxCore.jar! /res/config.cfg – 8803286