ImageLoader.java:爲什麼Image.IO.read()在這種情況下返回null?
public class ImageLoader {
private static BufferedImage image;
public ImageLoader() {
}
public BufferedImage loadImage(String filePath) throws IOException {
image = ImageIO.read(this.getClass().getResourceAsStream(filePath));
return image;
}
public static BufferedImage loadImage(Class classPath, String filePath) throws IOException {
image = ImageIO.read(classPath.getResourceAsStream(filePath));
return image;
}
}
Library.java:
public class Library {
public static final String ResourcePath = "./res/";
public static final String ImagePath = ResourcePath + "Images/";
}
使用ImageLoader.java在三個方面:
BufferedImage test = new ImageLoader().loadImage(Library.ImagePath + "imageFile.png");
BufferedImage test = new ImageLoader().loadImage(Main.class, Library.ImagePath + "imageFile.png");
BufferedImage test = new ImageLoader().loadImage("/Images/" + "imageFile.png");
爲什麼只有3次的情況下工作,並且第一和第二種情況不?我相信這與靜態變量Library.ImagePath
有關。
如果有辦法解決它,請在下面介紹!
你正在使用哪個''Library'''類?'Library.ImagePath''在你的情況下有什麼值? –
@DavidTanzer哦,對,讓我補充一點,這個問題! –
你確定你需要''/'在'ResourcePath'開頭而不是'/'? – Ferrybig