【问题标题】:Store a file inside a jar library将文件存储在 jar 库中
【发布时间】:2021-05-27 04:06:58
【问题描述】:

如何在 jar 库中存储文件?

设置: 创建一个简单的 maven 项目,其中包含一个使用 getResoruceAsStream() 方法从资源文件夹加载某些内容的类和一个运行它的测试。测试将失败,问题是找不到该文件,稍后当我们尝试将其编译为 lib 并运行该类时会出现相同的问题。

问题:使用我知道的唯一方法(也是您可以在网络上找到的唯一方法)getResourceAsStream() 会给您一个空引用异常,因为该文件丢失了。那么如何将文件添加到 jar 中并稍后加载呢?

【问题讨论】:

标签: java maven jar java-11


【解决方案1】:

将文件保存在src/main/resources目录中,并在需要加载该文件的类中使用以下方法-

private InputStream readFileFromResourcePath(String filename) {
    return getClass().getClassLoader().getResourceAsStream(filename);
} 

消费完后不要忘记关闭流。

【讨论】:

  • 啊,移植时我忘记了用ant构建的旧java版本没有资源文件夹的概念
猜你喜欢
  • 2017-02-25
  • 2015-10-06
  • 2010-09-17
  • 1970-01-01
  • 2020-03-04
  • 2011-06-06
  • 2019-12-08
  • 2013-02-24
  • 1970-01-01
相关资源
最近更新 更多