• 对象json文件转换


    public class FileUtil {
        private final static String JSON_PATH = "./json/";

        /***
         * 重新生成配置文件,会将之前的文件重命名
         * @param object List
         * @param fileName
         */
        public static void buildJsonFile(Object object, String fileName) {
            try {
                File dic = new File(JSON_PATH);
                if (!dic.exists()) {
                    dic.mkdir();
                }

                String url = JSON_PATH + fileName;
                File file = new File(url);
                if (file.exists()) { // 如果已存在,重命名旧文件
                    String date = DateFormatUtils.format(new Date(), "yyyyMMddHHmmss");
                    File newFile = new File(url + "_" + date);
                    file.renameTo(newFile);
    //                file.delete();
                }

                Writer writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
                writer.write(JSONObject.toJSONString(object));
                writer.flush();
                writer.close();
            } catch (Exception e) {
                log.info(e.getMessage());
                log.error("json文件生成失败");
            }

        }

      //  json文件路径获取对应String  

      public static String getMagicConfig(String fileName) {
            String url = JSON_PATH + fileName;
            File file = new File(url);
            if (!file.exists()) {
                return "";
            }

            try {
                FileInputStream fis = new FileInputStream(file);
                return readJsonFile(fis);
            } catch (FileNotFoundException e) {
                log.error("未找到文件, {}", url);
            }

            return "";
        }

        public static String readJsonFile(InputStream is) {
            String jsonStr = "";
            try {
                Reader reader = new InputStreamReader(is, 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 jsonStr;
            } catch (Exception ex) {
                ex.printStackTrace();
                return null;
            }
        }
    }

  • 相关阅读:
    leetcode 102.二叉树的层序遍历
    Android OpenGL ES 3.0 开发 :3D实例化(Instancing 3D)
    Selenium最新版谷歌浏览器驱动的下载及使用
    Rider 中C#单元测试
    ArcGIS Engine:视图菜单的创建和鹰眼图的实现
    全栈笔记_浏览器扩展篇(插件开发 - 发送axios请求)
    Tdengine技术实践
    数据统计与可视化复习总结(二):非参数检验、生存分析
    1688拍立淘API接口分享
    Redis 入门和数据类型讲解
  • 原文地址:https://blog.csdn.net/bighacker/article/details/128016737