我一直在尝试从我的资源中加载图像"在过去几个小时我的项目中的文件夹,任务似乎很简单,但我一直在拉我的头发。
我目前的代码:
private Image bg_img;
ClassLoader classLoader = getClass().getClassLoader();
bg_img = ImageIO.read(classLoader.getResource("imgo.jpg"));
然而,我一直收到以下错误:
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at com.conquest.gui.MainPanel.<init>(MainPanel.java:80)
at com.conquest.gui.RenderFrame.createControls(RenderFrame.java:40)
at com.conquest.gui.RenderFrame.createFrame(RenderFrame.java:35)
at com.conquest.gui.RenderFrame.<init>(RenderFrame.java:23)
at com.conquest.main.Main.main(Main.java:8)
我尝试了很多事情(以及此处提出的其他问题的建议),但无济于事。
我也尝试添加无效的尾随和斜线。
我尝试了一些建议的代码来查看我的资源位置是否设置正确,这似乎有效:
private String getFile(String fileName) {
StringBuilder result = new StringBuilder("");
//Get file from resources folder
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource(fileName).getFile());
try (Scanner scanner = new Scanner(file)) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
result.append(line).append("\n");
}
scanner.close();
} catch (IOException e) {
e.printStackTrace();
}
return result.toString();
}
public MainPanel(){
System.out.println(getFile("test.txt"));
}
哪个输出文件的每一行,但我仍然无法获取我的图像......