【问题标题】:Multiplatform getResourceAsStream多平台 getResourceAsStream
【发布时间】:2015-07-31 06:50:22
【问题描述】:

我应该使用哪些文件分隔符来指定资源的路径?我运行打包程序java -jar program.jar

目前我使用以下加载

 inputStream = getClass.getResourceAsStream(
                   File.separator + "resources" + File.separator + "my.class");

在 linux 上,它被正确评估为 /resources/my.class 并加载了类。但是,在 Windows 上会抛出 NullPointerException。正确的用途是什么?我迫切需要我的程序是多平台的。

我有点困惑,因为 documentation 告知路径可能以 / 开头,这不是 Windows 分隔符。

【问题讨论】:

    标签: java windows unix path separator


    【解决方案1】:

    资源路径应始终使用“/”,因为它在概念上不是在寻找文件路径,而是在类路径条目中寻找资源路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-09
      • 2014-07-08
      • 1970-01-01
      • 2019-04-24
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      相关资源
      最近更新 更多