从java中的项目文件夹加载图像

从java中的项目文件夹加载图像,java,io,Java,Io,我想加载projet文件夹中的图像,格式为:/src/images/URL.jpg 我尝试了以下代码: BufferedImage image = ImageIO.read(getClass().getResource("/images/URL.jpg")); 但我得到了一个错误: Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: input == null! at javax.imag

我想加载projet文件夹中的图像,格式为:/src/images/URL.jpg

我尝试了以下代码:

BufferedImage image = ImageIO.read(getClass().getResource("/images/URL.jpg"));
但我得到了一个错误:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: input == null!
    at javax.imageio.ImageIO.read(ImageIO.java:1388)
    at Personel.PersonnelMainForm.print(PersonnelMainForm.java:464)
如何解决此问题?

您可以尝试read版本,该版本将文件作为参数

BufferedImage image = ImageIO.read(new File("path"));
其中path是指向文件的路径,可以是绝对路径,也可以是相对路径

如果您真的想将其作为资源加载,另一个选项是编辑类路径,如所示。

您可以尝试read版本,该版本将文件作为参数

BufferedImage image = ImageIO.read(new File("path"));
其中path是指向文件的路径,可以是绝对路径,也可以是相对路径


如果您真的想将其作为资源加载,另一个选项是编辑您的类路径,如。

根据我使用的个人经验:

BufferedImage image = ImageIO.read(getClass().getResourceAsStream("/images/image.jpg"));

我以流的形式获取资源,这对我来说似乎很好。

根据我使用的个人经验:

BufferedImage image = ImageIO.read(getClass().getResourceAsStream("/images/image.jpg"));

我以流的形式获取资源,这对我来说似乎很好。

我想包中有一个java类。 您必须将包级别提升很多倍。 例子: Java类定义为org.test.MyClass
你必须上升两次.././才能进入主目录

我想包中有一个java类。 您必须将包级别提升很多倍。 例子: Java类定义为org.test.MyClass
你必须上升两次.././才能进入主目录

请显示更多代码。你认为你的形象在你的跑步路线上吗?试试看你的.getResource是否返回null,我相信这就是这里发生的情况。请显示更多代码。你认为你的形象在你的跑步路线上吗?试试看你的.getResource是否返回null,我相信这就是这里发生的情况。这不是一种实用的部署方法。将资源放在一个Jar中,并作为一个容器访问它。这不是一种实用的部署方法。把资源放在一个罐子里,作为一个容器来访问它。这是唯一对我有效的解决方案,它的代码非常短!唯一对我有效的解决方案是非常短的代码!