SpringBoot 解决打包发布后读取不到 json 文件问题

Java
395
0
0
2022-10-04
标签   SpringBoot

SpringBoot 里读取json文件是一个常见操作,之前在本地 idea 运行时候读取 json 文件没有任何问题,但是打包发布后运行会读取不到,解决方法:

要将 json 文件放到 resources 目录下,新建一个 json 目录

并将该目录添加至 spring.resources.static-locations 配置项:

classpath:/json/

SpringBoot 解决打包发布后读取不到 json 文件问题

读取文件要用 ClassPathResourcefastJson

具体操作代码:

调用方法:

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文件的问题

blog.csdn.net/weixin_41800672/arti...