可能重复(已解决):https://stackoverflow.com/a/1133132/783469
我的应用程序有图标(jpg,png),它存储在我的目录中/var/tmp/gameXbox/src/image/<here>.现在,我如何在应用程序中使用它们,而不使用硬链接作为资源?
示例:不工作
IconForMyButton = ImageIO.read(new File(
ClassLoader.getSystemResourceAsStream("image/button1.png")
));
Run Code Online (Sandbox Code Playgroud)

当我使用硬链接时工作:
IconForMyButton = ImageIO.read(new File(
"/var/tmp/gameXbox/src/image/button1.png"
));
Run Code Online (Sandbox Code Playgroud)
Dar*_*ogg 13
资源加载发生在类路径中,相对于当前包.如果/var/tmp/gameXbox/src/在你的类路径中,那么:
ImageIO.read( ClassLoader.getSystemResource( "image/button1.png" ) );
Run Code Online (Sandbox Code Playgroud)
但是,IDE 通常不会在类路径中包含该src文件夹.尝试将图像添加到文件夹中.bin
我通常使用class.getResource进行这种操作:
YourClass.class.getResource("image/button1.png")
Run Code Online (Sandbox Code Playgroud)
我用它从jar档案中检索文件,但也应该从文件系统资源中检索。