如何在简单的Java项目中加载图像?

时间:2015-08-01 18:56:11

标签: java

我的项目中有这个结构:

enter image description here

我的代码就是这样:

public class ChapterTwo {

    public static void main( String[] args )
    {
        try {
            //File imageFile = new File("../../../../resources/lena.jpg");
            String image = ChapterTwo.class.getResource("resources/lena.jpg").toExternalForm();
            System.out.println(image);
            //MBFImage image = ImageUtilities.readMBF(imageFile);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

现在这让我发疯了。让java在简单的目录结构中定位图像有多难?

我试过了:

resources/lena.jpg
/resources/lena.jpg
../resources/lena.jpg
../../../../../resources/lena.jpg
没什么作用。当我加载文件并调用exists()时,它总是返回false。如何加载此图像?

PS:我的代码只是测试代码,但你明白了,我正在尝试各种各样的东西。 它是com.foo而非com

编辑: 从答案:

String imagePath = ChapterTwo.class.getClassLoader().getResource("lena.jpg").toExternalForm();
File imageFile = new File(imagePath);
System.out.println(imageFile.exists());

我得到false ....

1 个答案:

答案 0 :(得分:2)

String image = ChapterTwo.class.getClassLoader().getResource("lena.jpg").getPath();