Java 自动生成markdown表格代码

在写博客的时候CSND没有表格按钮,每次写表格很麻烦,于是我写了个代码来生成表格的markdown语句,使用的时候只要输入行和列就行了。
代码:

package markdowntools;

import java.util.Scanner;
import clipboard.util.SysClipboardUtil;

public class MarkDownTableCode
{
    public static void main(String[] args)
    {
        Scanner scanner=new Scanner(System.in);
        System.out.println("############    markdown表格生成器    ############");
        System.out.print("输入行数:");
        int rows=scanner.nextInt();
        System.out.print("输入列数:");
        int cols=scanner.nextInt();
        System.out.println("############        运行结果:        ############");
        String head=tableHead(cols);
        String style= tableStyle(cols);
        //打印表格内容:
        String body=tableBody(cols, rows);
//      System.out.println("----------------------------------------");
        System.out.println(head+style+body);
        //把生成的markdown代码写入到系统剪贴板中
        SysClipboardUtil.setSysClipboardText(head+style+body);
    }
    /**   
     * @param cols  
     * @return 
     */  
    public static String tableHead(int cols)
    {
        StringBuilder buf=new StringBuilder();
        //打印表格头
        for(int j=1;j<=cols;j++)
        {

//          System.out.print("|标题"+j);
            buf.append("|标题"+j);
        }
//      System.out.println("|");//标题行结束
        buf.append("|\n");
        return buf.toString();
    }
    /**
     * 生成默认格式的markdown表格对齐样式。
     * @param cols 表格的列数
     * @return markdown表格对齐样式语句字符串。
     */
    public static String tableStyle(int cols)
    {
        StringBuilder buf=new StringBuilder();
        //打印表格样式使用默认
        for(int j=1;j<=cols;j++)
        {
//          System.out.print("|-");
            buf.append("|-");
        }
//      System.out.println("|");//标题行结束
        buf.append("|\n");
        return buf.toString();
    }
    /**
     * 生成表格体markdown语句。
     * @param cols 表格的列数
     * @param rows 表格的行数
     * @return 带编号的表格体markdown语句,表格体第一行编号1,第二行编号2.
     */
    public static String tableBody(int cols, int rows)
    {
        StringBuilder buf=new StringBuilder();
        for(int i=0;i<rows;i++)
        {
            for(int j=1;j<=cols+1;j++)
            {
//              System.out.print("|");
                buf.append("|");
                if(j==1)
                {
//                  System.out.print(i+1);
                    buf.append((i+1));
                }

            }
//          System.out.println();
            buf.append("\n");
        }
        return buf.toString();
    }
}

现在来生成一个3行4列的表格:
自动生成markdown表格代码
剪贴板中的代码(我这里粘贴过来了):

|标题1|标题2|标题3|标题4|
|-|-|-|-|
|1||||
|2||||
|3||||

效果:

标题1 标题2 标题3 标题4
1
2
3

上面用到了一个放到操作剪贴板的工具jar:clipboard.util.SysClipboardUtil下面给出jar路径:
https://download.csdn.net/download/qq_21808961/10449878
在eclipse中导入该jar包即可实现操作。后面会贴上clipboard.util.SysClipboardUtil 的源码:
https://blog.csdn.net/qq_21808961/article/details/80671259

猜你喜欢

转载自blog.csdn.net/qq_21808961/article/details/80670812