SpringBoot
里读取json文件是一个常见操作,之前在本地 idea
运行时候读取 json
文件没有任何问题,但是打包发布后运行会读取不到,解决方法:
要将 json
文件放到 resources
目录下,新建一个 json
目录
并将该目录添加至 spring.resources.static-locations
配置项:
classpath:/json/
读取文件要用 ClassPathResource
和 fastJson
具体操作代码:
调用方法:
JSONObject productConfigObj = ProjectUtil.getJson("productConfig");
getJson
方法:
public static JSONObject getJson(String jsonPath)
{
String jsonStr;
try {
ClassPathResource classPathResource = new ClassPathResource("json/" + jsonPath + ".json");
InputStream inputStream = classPathResource.getInputStream();
Reader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
int ch = 0;
StringBuilder sb = new StringBuilder();
while ((ch = reader.read()) != -1) {
sb.append((char) ch);
}
reader.close();
jsonStr = sb.toString();
return JSON.parseObject(jsonStr);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
然后这样就可以在本地和线上发布时都能读取到 json
文件了
参考文章:
springboot读取本地json文件
blog.csdn.net/cf8833/article/detai...
spring boot 解决打包发布后读取不到 json文件以及如何读取json文件的问题