java如何读写操作yaml文件展示


在这里插入图片描述

前言

yaml 本身是一个标记语言,其文件形式是.yml,常用来作数据配置的文件

下面使用的 Yaml 来源于org.yaml.snakeyaml这个依赖包,需要自己导入

java 读取 yaml

@Test
    public void read() throws IOException {
        Yaml yml = new Yaml();
        FileReader reader = new FileReader("src\\test\\java\\test.yml");
        BufferedReader buffer = new BufferedReader(reader);
        Map<String,Object> map = yml.load(buffer);
        System.out.println(map.get("key1"));
        System.out.println(map.get("key2"));
        buffer.close();
        reader.close();
    }

java 写入 yaml

@Test
    public void write() throws IOException {
        Map<String, Object> map = new HashMap<>();
        map.put("key1", 1);
        map.put("key2", "2");
        Yaml yml = new Yaml();
        FileWriter writer = new FileWriter("src\\test\\java\\test.yml", true);
        BufferedWriter buffer = new BufferedWriter(writer);
        buffer.newLine();
        yml.dump(map, buffer);
        buffer.close();
        writer.close();
    }

这里值得注意的是这个 dump() 方法,dump 本意是卸下数据,即将键值对的数据转变成 String 类型

dump 可以接收一个参数,或者两个参数。若是接收两个参数,第二个参数是输出流。当接收一个参数时返回 String,这样再使用输出流的 write() 方法就可以直接写到 yml 中;当接收两个参数时返回 void,直接就可以实现写进磁盘的操作。

上述代码中 dump() 方法直接写进磁盘与 write() 写进磁盘还是有区别的,dump() 写完之后会自动添加上一个回车符,然而 write() 就不会

Java操作YAML工具类是一种用于读取和写入YAML格式文件的工具类。YAML(“YAML Ain't Markup Language”的缩写)是一种轻量级的数据序列化格式,它旨在成为一种易于阅读和编辑的数据格式。使用Java操作YAML工具类能够方便地与这种格式的数据交互。 Java中有许多可用的YAML库,其中最受欢迎的是SnakeYAML。这个库提供了一系列API,可以像读写Java对象一样读写YAML文件。使用SnakeYAML可以简单地将YAML文件加载到Java对象中,并将Java对象转换为YAML文件。因此,这个工具类可以封装SnakeYAML并提供更方便的方法来读写YAML文件。 这个工具类可以有许多方法,包括读取YAML文件Java对象、将Java对象写入YAML文件、添加、更新、删除YAML文件中的条目等。例如,可以定义一个方法来读取YAML文件中的数据,如下所示: ``` public static Object readYaml(String filePath) throws IOException { Yaml yaml = new Yaml(); try (InputStreamReader reader = new InputStreamReader(new FileInputStream(filePath), StandardCharsets.UTF_8)) { return yaml.load(reader); } } ``` 这个方法使用SnakeYAML库创建Yaml对象,然后将YAML文件加载到Java对象中。可以使用类似的方法来写入Java对象并生成YAML文件。 使用Java操作YAML工具类可以简化读写YAML文件的过程,使代码更加易于阅读和理解。它还可以提高代码的可重用性和可维护性,并使代码更加机动灵活。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abcnull

您的打赏是我创作的动力之一

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值