下面是我尝试使用的代码。
InputStream in = new BufferedInputStream(Tester.class.getClassLoader().getResourceAsStream("appResources/img/GESS.png"));
Image image=null;
try {
image = ImageIO.read(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(image);
当我打印“image”时,它变为空。
最佳答案
试试这个:
InputStream in = Tester.class.getResourceAsStream("your/path");
Image image=null;
try {
image = ImageIO.read(in);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(image);
值或 your/path
是 appResources/img/GESS.png
或 /appResources/img/GESS.png
,具体取决于您的 Maven 配置以及您为项目设置的目录。
例如,如果您将以下条目添加到 pom.xml
文件中:
<resources>
<resource>
<directory>src/main/appResources</directory>
</resource>
</resources>
然后,您可以使用更短的路径来获取相同的资源,因为您的程序知道在哪里寻找资源:
InputStream in = Tester.class.getResourceAsStream("img/GESS.png");
Image image=null;
try {
image = ImageIO.read(in);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(image);
关于java - 我无法使用 getClassLoader 方法加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43651581/