在开发过程中经常会遇到读取文件的问题,使用new FileReader(jsonFilePath)去读相对路径总是读取不到,这时就可以使用ClassLoader类路径去读取,具体源码如下
// 使用 ClassLoader 获取输入流
InputStream inputStream = JsonUtil.class.getClassLoader().getResourceAsStream("oauser.json");
if (inputStream != null) {
// 使用 InputStreamReader 将输入流转换为字符流
try (InputStreamReader reader = new InputStreamReader(inputStream)) {
// 读取 JSON 文件
JSONParser parser = new JSONParser();
JSONObject jsonObject = (JSONObject) parser.parse(reader);
在这个代码里我使用json文件存放了一个表单模板,存放在resource文件夹下的所有文件都会被引入类路径,使用系统路径读取总是获取不到后使用ClassLoader根据类路径文件名下的文件,用流的形式去读取。