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);