如何从jar或文件中检测一个资源文件?

时间:2016-05-20 10:44:15

标签: java resources classpath

我想从classpath加载一个资源文件。此文件可能位于jar文件中,也可能只是一个单独的文件。我怎么知道?感谢

1 个答案:

答案 0 :(得分:0)

假设MyClass是包含资源文件的ClassLoader或子ClassLoader中的一个类,这应该可以解决这个问题。

MyClass.class.getResourceAsStream("/path/to/my/resource")
  

查找具有给定名称的资源。搜索资源的规则   与给定类相关联的是由定义类实现的   班级装载机。此方法委托给此对象的类   装载机。如果这个对象是由bootstrap类加载器加载的,那么   方法委托给   的 ClassLoader.getSystemResourceAsStream(java.lang.String中)

更多详情here

上述提案将您的资源设为InputStream,如果您希望将其作为URL使用MyClass.class. getResource("/path/to/my/resource")来代替