【问题标题】:getClass().getResourceAsStream("/folder") return nullgetClass().getResourceAsStream("/folder") 返回 null
【发布时间】:2016-09-28 00:02:05
【问题描述】:

我尝试使用

列出 jar 文件夹文件

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

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

有什么区别?

它在 Eclipse 中有效,但在 jar 文件中无效

【问题讨论】:

  • 除了缺少的前导/,您可以发布您的应用程序的目录结构吗?请发minimal reproducible example
  • jar 文件中不存在文件夹。您不能列出 jar 中的文件夹。
  • 将 jar 文件的内容列表添加到问题中。
  • @bmargulies ,有一个解决方案是列出jar文件并过滤特定文件夹

标签: java file


【解决方案1】:

您告诉Class Loader"/folderName" 中找到文件(资源),这是根(绝对)。 "folderName" 是您的班级所在的当前文件夹(相对于)。

加号:

  • getClass().getResourceAsStream() 正在使用系统类加载器。不是加载父类的类加载器。

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

  • 此外,如果您要混淆 JAR,则不能使用静态路径。

【讨论】:

    猜你喜欢
    • 2021-01-09
    • 2016-02-10
    • 2015-02-19
    • 1970-01-01
    • 2011-07-11
    • 2013-10-02
    • 2013-06-21
    • 1970-01-01
    相关资源
    最近更新 更多