2016-11-27 60 views
0

我有Java/Eclipse的这个奇怪的问题。我用这个来加载BufferedImages(以及类似的一个加载字体):导出时资源文件夹不工作

ClassLoader classLoader = ResourceLoader.class.getClassLoader(); 
ImageIO.read(new File(classLoader.getResource(path).getFile())); 

此代码是在一个叫做资源加载类。这是一个实用工具类,我用它来加载BufferedImages和Fonts。一切都在Eclipse中运行,但是当导出到可执行JAR时,它会在尝试加载资源时引发nullPointerException。我看着JAR,资源被打包在那里。

的路径是按以下格式:"/img/paper.png"

这里是我的项目的层次结构:

My project hierarchy

任何想法,为什么它不工作?

回答

0

jars的内容不是文件和文件夹,所以你不能访问它们的内部,就好像它们一样。类加载器可以为您提供资源的直接InputStreamImageIO可以采取InputStream。一起使用它们。

相关问题