properties与yaml互转工具类

本文介绍了一个简单的命令行工具,用于实现属性文件(prop)与YAML文件之间的相互转换。该工具通过解析文件内容并按指定格式输出,支持通过控制台参数指定转换方向,默认为prop转YAML。

没事写的,实际更加推荐使用网上一些更加完善的在线工具
效果
正向转换
原内容

转换结果
在这里插入图片描述
反向
原内容
在这里插入图片描述
结果
在这里插入图片描述
主要类

public class p2y {
   
   

    private static final String REVERSE = "-r";
    private static final Pattern PATTERN = Pattern.compile("(.+)\\[(\\d+)]$");

    public static void main(String[] args) throws IOException {
   
   
        args = new String[]{
   
   "src/p2y/test.yaml","-r"};
        if (args.length == 1) {
   
   
            handleP2y(args[0]);
        } else if (args.length == 2) {
   
   
            if (args[1].equals(REVERSE)) {
   
   
                handleY2p(args[0]);
            } else {
   
   
                printHelp();
            }
        } else {
   
   
            printHelp();
        }
    }

    private static void handleY2p(String path) throws IOException {
   
   
        List<String> lines = Files.readAllLines(Paths.get(path), Charset.forName("UTF-8"));
        LinkedList<State> stack = new LinkedList<>();
        for (String line : lines) {
   
   
            handleLine(stack, line);
        }
    }

    private static void handleLine(LinkedList<State> stack, String line) {
   
   
        int index;
        String name;
        String value;
        for (int i = 0; i < line.length(); i++) {
   
   
            char c = line.charAt(i);
            switch (c) {
   
   
                case ' ':
                case '\t':
                    break;
                case '#':
                    System.out.println(line);
                    return;
                case '-':
                    stack.peekLast().index++;
                    index = line
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值