java - 我无法使用 getClassLoader 方法加载图像

标签 java image class inputstream

下面是我尝试使用的代码。

 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/pathappResources/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);

更多信息herehere .

关于java - 我无法使用 getClassLoader 方法加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43651581/

相关文章:

Android:在 WebView 中加载的图像像素质量降低

java - 在两个类之间传递变量

java - 如何自动转换十六进制代码以将其用作 Java 中的 byte[]?

java - 检索列表需要花费大量时间

java - 覆盖 ListView 子类中的 setAdapter

PHP - 查看带有图像附件的所有评论,仅显示数据库中的最后一个条目

java - 如何将两幅图像组合成混合图像?

java - java类中的类?

java - set 和 get 方法与公共(public)变量的优势

java - 将帮助我开发 Eclipse 行编号(如插件)的线索