getClass()。getResourceAsStream(“/ folder”)返回null

我试图使用列出jar文件夹文件

getClass().getResourceAsStream("/folderName")它返回null

但是getClass().getResourceAsStream("folderName/fileName")不为null

有什么不同?

它在eclipse中工作,但不在jar文件中

你告诉类加载器在"/folderName"找到文件(资源),它是根(绝对)。 而"folderName"是您的class级所在的当前文件夹(相对于)。

加:

  • getClass().getResourceAsStream()正在使用System Class Loader。 不是加载父类的类加载器。

  • 使用Example.class.getResourceAsStream() ,您应该能够访问资源。

  • 此外,如果您对JAR进行模糊处理,则无法使用静态路径。