【Springboot】SpringBoot打Jar包后无法读取静态文件,显示文件不存在

1. 首先错误,如下图所示,但是我用压缩文件方式打开后,文件时存在的,如下图:

【Springboot】SpringBoot打Jar包后无法读取静态文件,显示文件不存在_第1张图片

【Springboot】SpringBoot打Jar包后无法读取静态文件,显示文件不存在_第2张图片

2. 解决方式

1.1 先将文件存入Resources中的一个文件夹中,如图:

【Springboot】SpringBoot打Jar包后无法读取静态文件,显示文件不存在_第3张图片

1.2 然后使用这种方式进行文件内容读取:

JSONObject jsonObject;
String input;
log.info("文件地址:{}", fileName);
try {
    // SpringBoot只能使用这种方式进行读取文件
    ClassPathResource cpr = new ClassPathResource(fileName);
    byte[] bdata = FileCopyUtils.copyToByteArray(cpr.getInputStream());
    input = new String(bdata, StandardCharsets.UTF_8);
    //input = FileUtils.readFileToString(new File(path), "UTF-8");
    jsonObject = JSONObject.parseObject(input);
    return jsonObject;
    } catch (IOException e) {
        log.error("json解析失败", e);
        throw new ProcureException.ProcureJsonErrorException();
    }

3. 最后成功打印日志并且读取到参数

你可能感兴趣的:(Intellij,idea,Java,Mac,SpringBoot)