无法从jar加载资源文件

马西

我正在使用存储在中的配置JSON文件src/test/resources/config.json

我得到这样的:

String configFile = this.getClass().getResources("config.json").getPath();

我有getPath()方法,因为我需要它的String值,然后检查文件是否存在并最终解析它。

在Eclipse IDE中,一切正常,因为我解析了file /bin/config/config.json,但是当我创建JAR文件时,路径为program.jar!/config/config.json并且函数!Files.exists()返回false。

我该如何解决这个问题?

普夫兰扎

当您使用资源加载程序时,应该打开文件的InputStream而不是通过文件的路径来引用文件。

代替 .getResources("config.json").getPath();

尝试使用this.getClass().getResourceAsStream("config.json");如果返回的流为null,则资源不存在。

这样,即使将资源打包到jar中,类加载器也将始终为您返回正确的内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章