Java 如何使用getClass和getResource?
下面是我得到的错误:Java 如何使用getClass和getResource?,java,image,imageicon,getresource,Java,Image,Imageicon,Getresource,下面是我得到的错误: Using directory file:/D:/CCSF%20Docs/CS111B/Java%20Projects/LabelDemo2.java/bin/ Image url is null Exception in thread "main" java.lang.NullPointerException at javax.swing.ImageIcon.<init>(Unknown Source) at LabelDemo2.&l
Using directory file:/D:/CCSF%20Docs/CS111B/Java%20Projects/LabelDemo2.java/bin/
Image url is null
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at LabelDemo2.<init>(LabelDemo2.java:23)
at LabelDemo2.main(LabelDemo2.java:46)
如果
图像
在您的源文件夹中,则您确实希望在下面阅读图像
getClass().getResource("/java.jpg")
只要把/
或\\
如果它在您的源文件夹之外,那么您可以使用绝对路径通过InputStream
读取它,您可以尝试
ClassLoader classLoader = this.getClass().getClassLoader();
InputStream in = classLoader.getResourceAsStream(path);
或
或
进一步阅读图像是否在源文件夹中?可能重复的
getResource()
有一种指定路径的有趣方式。查看上面的链接了解更多信息。简而言之,最简单的方法是将要读取的文件放在源文件夹/项目中,并将路径指定为绝对路径,其中“/”表示源文件夹代码>然后fileReference.getInputStream()
ClassLoader classLoader = this.getClass().getClassLoader();
InputStream in = classLoader.getResourceAsStream(path);
ClassPathResource fileReference = new ClassPathResource(filename);
InputStream in = fileReference.getInputStream();
this.getClass().getResourceAsStream(filename);