Java读取yaml数据

这篇具有很好参考价值的文章主要介绍了Java读取yaml数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

YAML

YAML 数据结构可以用类似大纲的缩排方式呈现,结构通过缩进来表示,连续的项目通过减号“-”来表示,map结构里面的key/value对用冒号“:”来分隔。

下面介绍两种 Java 读取 Yaml 内容的方式:

1.SnakeYaml

忽略注释的方式,读写会导致注释丢失文章来源地址https://www.toymoban.com/news/detail-616414.html

  • 在pom.xml加入snakeyaml依赖:
      <!-- read and write yaml file -->
      <dependency>
		    <groupId>org.yaml</groupId>
		    <artifactId>snakeyaml</artifactId>
		    <version>1.29</version>
      </dependency>
  • 具体java代码:
public class YamlUtils {
    private static final Logger logger = LoggerFactory.getLogger(YamlUtils.class);

    // yml2Map: Yaml to Map, 将yaml文件读为map
    public static Map<String, Object> yml2Map(String path) throws FileNotFoundException {
        FileInputStream fileInputStream = new FileInputStream(path);
        Yaml yaml = new Yaml();
        Map<String, Object> ret = (Map<String, Object>) yaml.load(fileInputStream);
        return ret;
    }

    // map2Yml: Map to Yaml, 将map转换为yaml格式
    public static void map2Yml(Map<String, Object> map, String path) throws IOException {

        File file = new File(path);
        FileWriter fileWriter = new FileWriter(file);
        DumperOptions options = new DumperOptions();
        options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
        Yaml yaml = new Yaml(options);
        yaml.dump(map, fileWriter);
    }
 }

2.eo-yaml:

  • 支持注释读写的yaml包;
  • 读取的时候,生成节点,在每一个节点上保存相应的注释;
  • 写入的时候,根据节点,重新添加相应的注释;
<dependency>
    <groupId>com.amihaiemil.web</groupId>
    <artifactId>eo-yaml</artifactId>
    <version>4.3.5</version>
</dependency>
YamlMapping team = Yaml.createYamlInput(
    new File(path)
).readYamlMapping();
String architect = team.string("architect");
YamlSequence devs = team.yamlSequence("developers");
YamlSequence devops = team.yamlSequence("devops");
Map<String, Integer> grades = new HashMap<>();
grades.put("Math", 9);
grades.put("CS", 10);
YamlMapping student = Yaml.createYamlDump(
    new Student ("John", "Doe", 20, grades)
).dumpMapping();

到了这里,关于Java读取yaml数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java通过FTP跨服务器动态监听读取指定目录下文件数据

    1、文件数据在A服务器(windows)(不定期在指定目录下生成),项目应用部署在B服务器(Linux); 2、项目应用在B服务器,监听A服务器指定目录,有新生成文件,进行读取文件信息,持久化数据; 3、提供两块内容,第一安装windows FTP服务;第二项目源码,希望可以帮助到你

    2024年02月03日
    浏览(62)
  • Yaml配置文件读取方法

    在日常的代码中,有一些值是配置文件中定义的,这些值可以根据用户的要求进行调整和改变。这往往会写在yaml格式的文件中。这样开放程序给用户时,就可以不必开放对应的源码,只开放yaml格式的配置文件即可。 将配置文件中的值读入程序也非常的简单。 我们先写一个简

    2024年02月11日
    浏览(51)
  • golang读取yaml文件

    yaml文件名:agent.yml 注意,空格,不要用tab键 golang文件:main.go 执行:

    2024年02月09日
    浏览(39)
  • Python读取和写入yaml文件

    yaml是专门用来写配置文件的语言,简洁强大,远比JSON格式方便,yaml在python语言中有PyYAML安装包。 我这边应用场景是用来做接口自动化时,接口返回的值写入到yaml文件,然后需要用的时候直接引用即可。不如登录接口,我需获取接口返回的token,下一个接口访问时需要携带

    2024年02月11日
    浏览(49)
  • 接口自动化yaml文件读取与写入

    前言 在走进yaml文件之前大家应该都很想知道他是用来干嘛的? 是的是的,他是用来做接口自动化测试的。 我们一起来学习他吧!——(一定要收藏带走哦❤) 1、yaml文件有什么作用呢? ①可作为配置文件使用——配置全局数据(环境变量、数据库信息、账号信息、日志格

    2024年02月11日
    浏览(47)
  • go读取yaml,json,ini等配置文件

    实际项目中,要读取一些json等配置文件。今天就来说一说,Golang 是如何读取YAML,JSON,INI等配置文件的。 JSON 应该比较熟悉,它是一种轻量级的数据交换格式。层次结构简洁清晰 ,易于阅读和编写,同时也易于机器解析和生成。 1.创建 conf.json: 2.新建config_json.go: 启动运行后

    2024年02月10日
    浏览(50)
  • Opencv将数据保存到xml、yaml / 从xml、yaml读取数据

    Opencv提供了读写 xml、yaml 的类实现: 本文重点参考:https://blog.csdn.net/cd_yourheart/article/details/122705776?spm=1001.2014.3001.5506,并将给出文件读写的具体使用实例。 1.1 写数据 output : 1.2 读数据 将数据写入到xml文件后,打开查看一下 格式是自动生成的,只是将数据填充了进去。可以看

    2024年02月13日
    浏览(46)
  • java 逐行读取文件(读取文件每一行、按行读取文件)附带示例代码

    最快的读取每一行 相比较Scanner慢一点 行数达到一定规模,使用此方法读取会非常慢 一次把所有数据都读到内存中,当文件非常大时,会消耗掉内存资源导致程序崩掉,文件规模小推荐使用 统计每一行日志ip出现的次数

    2024年02月11日
    浏览(49)
  • Java 读取excel文件

    先导入依赖: 1、获取想要上传excel文件的路径 2、获得路径后,通过路径定位生成数据流,使用FileInputStream方法读取路径对应文件的原始字节流。 3、使用ExcelUtils工具类读取 字节流 + 路径。 4、ExcelUtils工具类对数据进行处理,因为表格有行和列,所以处理完数据使用二维集合

    2024年02月04日
    浏览(50)
  • Java读取XML文件

    XML声明是XML文档的第一句,其格式如下 良好的XML文档必须只有一个根元素,就是紧接这声明后面接着的第一个元素,其他元素都是这个根元素的子元素,根元素完全包括文档中其他所有的元素。 在XML文档中,大小写是有区别的。\\\"A\\\"和\\\"a\\\"是不同的标记。 所有标记必须成对出现

    2024年02月08日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包