新的文件(路径)或class.getResourses(路径)?

问题描述:

BufferedImage image = ImageIO.read(SpriteSheet.class.getResource(path)); 
BufferedImage image = ImageIO.read(new File(path); 

在问这个问题之前,我已经在这里看到过类似的问题,但我仍然有点困惑。新的文件(路径)或class.getResourses(路径)?

我花了一些时间阅读java文档,但它使整个画面变得更加复杂。

在我的程序中需要使用什么上传资源,两者有什么区别?

+0

这里有错字的错误:'ImageIO.read(新文件(路径);' –

SpriteSheet.class.getResource(path)找到您的java类路径中的文件。

new File(path)找到该文件在文件系统上的任何地方

如果你的资源在类路径中使用class.getResource(path)

+0

AFAIR如果你使用'new File(path)',它只会在文件不在jar文件内时才起作用,所以如果他想要获取可能位于应用程序内部的资源,他必须使用'getResource' – Clayn