我在类路径中有一个文件,我正在尝试使用class.getResource(String).getPath()
获取文件路径,并且它正在返回NPE。
当我在同一个类中的任何方法中执行相同操作时,它工作正常。
我无法在构造函数中使用getResource
方法访问文件吗?
答案 0 :(得分:1)
我无法在构造函数中使用getResource方法访问文件吗? javafile
是的,你可以。
您在构造函数中调用class.getResource()
的事实不会改变方法的行为。如果目标类相同且资源路径相同,那么在任何一种情况下都应该得到相同的结果。
我怀疑行为的差异取决于其他因素。例如,如果在不同的类对象上使用相同的路径调用class.getResource
,则可能会得到不同的行为,因为这些类可能具有不同的类加载器,或者因为相对于目标的包名解析了相对资源路径类。
正如@Dima指出的那样,getResource()
如果无法找到您要求的资源,则会返回null
。这是您NPE最可能的原因(基于您提供的粗略信息......)
如果本答案没有为您提供足够的线索,那么您需要向我们提供说明您遇到的问题的SSCCE。