我有以下目录结构在我的Java项目:使用class.getResource()在.jar中加载文件?
该项目由Maven
管理,并在包中的所有资源都投入到一个单一的.jar
文件。
在Utils.java
我加载car.jpg
,由于纹理文件在classpath中我用下面的方法来获取有关文件句柄:
URL url = Utils.class.getResource("/textures/car.jpg");
我已经看到了关于很多的困惑在类路径中获取对文件的引用时使用哪种方法。
是class.getResource()
正确的使用方法?还是class.getResourceAsStream()
提供任何好处?
那么如果你只是想'InputStream',我会使用'getResourceAsStream'。如果你正在使用一个很乐意使用'URL'的东西,那么我们就是'getResource'。你的代码不工作,或者你真的只是问这两种方法中的哪一种? – 2014-09-05 16:55:38
我没有看到任何区别。这取决于你可以使用哪个返回值。例如'ImageIcon'将一个'URL'而不是'InputStream'作为构造函数的参数。 – 2014-09-05 16:56:55