java根据实体类生产markdown文档材料

 广告:

信号屏蔽器:守护你的数字生活,为你带来宁静与专注

https://sz-sstx.com

开发者做不喜欢做的就是写文档,现在大环境这么卷,后端一般都会写点文档,希望这个工具可以帮到您

根据实体类生产markdown文档表格

    /**
     * 根据基础类生成markdown文本
     *
     * @param filePath 实体类文件地址
     */
    public static void createMarkdown(String filePath) {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader(filePath));
            String line;
            int lineNUm = 0;
            List<List<String>> result = new ArrayList<>();
            while ((line = reader.readLine()) != null) {
                List<String> field = new ArrayList<>();
                // 处理每一行的内容
                if (line.contains("/**") && !line.contains("************************")) {
                    if (lineNUm == 0) {
                        lineNUm++;
                        continue;
                    }
                    line = reader.readLine();
                    String annotation = line.replaceAll("\\*", "");
                    annotation = annotation.replaceAll(" ", "");
                    line = reader.readLine();
                    line = reader.readLine();
                    line = reader.readLine();
                    if (line.contains("DateTimeFormat") || line.contains("JsonFormat")) {
                        line = reader.readLine();
                    }
                    if (line.contains("DateTimeFormat") || line.contains("JsonFormat") || line.contains("TableField")) {
                        line = reader.readLine();
                    }
                    if (line.equals("")) {
                        line = reader.readLine();
                    }
                    String[] s = line.split(" ");

                    lineNUm++;
                    if (lineNUm == 38) {
                        System.out.println(11);
                    }
                    String type = s[5];
                    String columnName = s[6];
                    field.add(columnName.replaceAll(";", ""));
                    field.add(type);
                    field.add(annotation);
                    result.add(field);
                    System.out.println(lineNUm);
                }
            }
//            System.out.println(result);
            //|CAppTyp |String   |保单类型 ||'A' 投保单,<br>'E'批改申请单,<br>'Q'报价单,<br>'O'开口保单|
            List<String> markDown = new ArrayList<>();
            for (List<String> strings : result) {
                StringBuilder stringBuilder = new StringBuilder();
                for (String string : strings) {
                    stringBuilder.append("|").append(string);
                }
                stringBuilder.append("|");
                stringBuilder.append(" | ||");
                markDown.add(stringBuilder.toString());
            }
            for (String s : markDown) {
                System.out.println(s);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                reader.close();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }
    }

或者//类型的注释

    /**
     * 根据//类型注释的实体类生成markdown文本
     *
     * @param filePath 实体类文件地址
     */
    public static void createMarkdown2(String filePath) {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader(filePath));
            String line;
            int lineNUm = 0;
            List<List<String>> result = new ArrayList<>();
            while ((line = reader.readLine()) != null) {
                List<String> field = new ArrayList<>();
                // 处理每一行的内容
                if (line.contains("TableField") && !line.contains("c_id")) {
                    if (lineNUm == 0) {
                        lineNUm++;
                        continue;
                    }
                    line = reader.readLine();

                    String annotation = line.replaceAll("//", "");
                    annotation = annotation.replaceAll(" ", "");
                    line = reader.readLine();
                    if (line.equals("")) {
                        line = reader.readLine();
                    }
                    String[] s = line.split(" ");
                    lineNUm++;
                    String type = s[1];
                    String columnName = s[2];
                    field.add(columnName.replaceAll(";", ""));
                    field.add(type);
                    field.add(annotation);
                    result.add(field);
                }
            }
//            System.out.println(result);
            //|CAppTyp |String   |保单类型 ||'A' 投保单,<br>'E'批改申请单,<br>'Q'报价单,<br>'O'开口保单|
            List<String> markDown = new ArrayList<>();
            for (List<String> strings : result) {
                StringBuilder stringBuilder = new StringBuilder();
                for (String string : strings) {
                    stringBuilder.append("|").append(string);
                }
                stringBuilder.append("|");
                stringBuilder.append(" | |是|");
                markDown.add(stringBuilder.toString());
            }
            for (String s : markDown) {
                System.out.println(s);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                reader.close();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }
    }

                                                                                                        源自 sz-sstx.com

Java基础学习笔记 # 一、Java简介 Java是一种面向对象的编程语言,由Sun Microsystems(现在是Oracle)于1995年首次发布。它具有跨平台的特性,可以在不同的操作系统上运行。Java语言被广泛应用于开发各种类型的应用程序,包括桌面应用、Web应用、移动应用等。 # 二、Java基本语法 ## 1. 变量与数据类型 Java是强类型语言,每个变量必须先声明后使用。Java提供了多种数据类型,包括基本数据类型(整数、浮点数、字符、布尔值)和引用数据类型(类、接口、数组)。 ## 2. 运算符 Java提供了多种运算符,包括算术运算符、关系运算符、逻辑运算符等,用于进行各种数学或逻辑运算。 ## 3. 控制流程 Java提供了多种控制流程语句,包括条件语句(if-else语句、switch语句)、循环语句(for循环、while循环)、跳转语句(break语句、continue语句)等,用于控制程序的执行流程。 ## 4. 方法和类 Java的方法用于封装一段可重复使用的代码,可以带有参数和返回值。类是Java程序的基本组织单位,包含了属性和方法。可以使用关键字class定义一个类,通过实例化类的对象来调用其方法。 # 三、面向对象编程 Java是一种面向对象的编程语言,面向对象编程的核心概念包括封装、继承和多态。 ## 1. 封装 封装是将数据和行为打包成一个类,通过访问修饰符(public、private等)控制对类的成员的访问权限。 ## 2. 继承 继承允许一个类继承另一个类的属性和方法,并且可以通过重写来修改或扩展继承的方法。 ## 3. 多态 多态允许通过父类类型的引用来引用子类对象,实现对不同子类对象的统一调用。 # 四、异常处理 Java提供了异常处理机制,用于处理程序的错误情况。异常分为可检查异常(checked exception)和不可检查异常(unchecked exception),可以使用try-catch语句来捕获和处理异常。 # 五、Java标准库 Java标准库提供了大量的类和接口,用于完成各种常见的任务。其包括输入输出、集合、多线程、网络编程等功能,可以大大简化开发过程。 以上是我学习Java基础的笔记总结,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值