package com.example.xiaoshiweixinback.service.importPatent; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.example.xiaoshiweixinback.XiaoshiWeixinbackApplication; import com.example.xiaoshiweixinback.business.utils.FileUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.system.ApplicationHome; import org.springframework.stereotype.Service; import java.io.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 公用服务类 * * @author lrj */ @Service @Slf4j public class CommonService { /** * 根据获得文件json * * @param fileName * @return */ public static String readJsonFile(String fileName) { String json = ""; try { ApplicationHome ah = new ApplicationHome(XiaoshiWeixinbackApplication.class); //获取 applicationHome 内的路径 ...\target\classes 到这一层级下 File fileTem = ah.getSource(); //获取 file的parentFile 即最后一级之前的所有层级路径(包括盘符) 这里能获得到的最终层级为 ...\target 后续用FILE_SEPARATOR(系统路径分割通配符 即 "\") 以及fileName拼接生成存放文件的目录层级 即为根目录 root String rootPath = fileTem.getParentFile().toString() + FileUtils.FILE_SEPARATOR + "jsons/"; // String filePath = fileUtils.getPath("/11.docx"); File file = new File(rootPath + fileName); Reader reader = new InputStreamReader(new FileInputStream(file), "utf-8"); int ch = 0; StringBuffer buffer = new StringBuffer(); while ((ch = reader.read()) != -1) { buffer.append((char) ch); } reader.close(); json = buffer.toString(); return json; } catch (IOException e) { e.printStackTrace(); return null; } } public static File getFile(String fileName) { String json = ""; try { ApplicationHome ah = new ApplicationHome(XiaoshiWeixinbackApplication.class); //获取 applicationHome 内的路径 ...\target\classes 到这一层级下 File fileTem = ah.getSource(); //获取 file的parentFile 即最后一级之前的所有层级路径(包括盘符) 这里能获得到的最终层级为 ...\target 后续用FILE_SEPARATOR(系统路径分割通配符 即 "\") 以及fileName拼接生成存放文件的目录层级 即为根目录 root String rootPath = fileTem.getParentFile().toString() + FileUtils.FILE_SEPARATOR ; // String filePath = fileUtils.getPath("/11.docx"); File file = new File(rootPath + fileName); return file; } catch (Exception e) { e.printStackTrace(); return null; } } }