报错信息
java.io.FileNotFoundException: class path resource [json/test.json] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/C:/Users/Kern/Desktop/test/resource-file-read-demo-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/json/test.json
这是在项目打成jar包在服务器中运行后报错,本地调试没有问题!
之前的错误代码:
ClassPathResource resource = new ClassPathResource("json/test.json");
File file = resource.getFile();
String s = FileUtils.readFileToString(file, "utf-8");
String s1 = JSON.toJSONString(s);
目的是读取resources 目录下的json文件
错误的点在于不能直接通过 resource对象去获取文件。
改正后的代码
ClassPathResource resource = new ClassPathResource("json/test.json");
InputStream inputStream = resource.getInputStream();
String s = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
String s1 = JSON.toJSONString(s);
改成获取输入流就可以了。
其中使用到了IOUtils 工具类,引入 commons-io 的依赖
暑期编程PK赛 得CSDN机械键盘等精美礼品!commons-io commons-io2.6



