我正在使用存储在中的配置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] 删除。
我来说两句