我的项目中有这个结构:
我的代码就是这样:
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
....
答案 0 :(得分:2)
String image = ChapterTwo.class.getClassLoader().getResource("lena.jpg").getPath();