[发明专利]一种Yml文件读写的方法及装置在审
申请号: | 201811544944.X | 申请日: | 2018-12-17 |
公开(公告)号: | CN111324577A | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 贺治国 | 申请(专利权)人: | 大唐移动通信设备有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 刘醒晗 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 yml 文件 读写 方法 装置 | ||
1.一种Yml文件读写的方法,其特征在于,包括:
根据Yml文件的语法规则,将所述Yml文件转化为多叉树内存数据结构;
采用深度优先递归算法遍历所述多叉树内存数据结构,并将所述Yml文件中的JavaBean对象成员以及JavaBean对象成员对应的赋值转化为Key-Value键值对;
当对至少一个Key值对应的至少一个赋值进行修改,得到新的Key-Value键值对;
将所述新的Key-Value键值对转化为Yml文件内存字符串后持久化到Yml文件中。
2.如权利要求1所述的方法,其特征在于,所述根据Yml文件的语法规则,将所述Yml文件转化为多叉树内存数据结构包括:
逐行读取所述Yml文件,根据Yml文件的语法规则将所述Yml文件的每一行作为多叉树内存数据结构的一个节点添加到所述多叉树内存数据结构中,所述Yml文件中行与行之间的层级关系对应所述多叉树内存数据结构中每棵数据树的节点与节点之间的关系,并且每棵数据树的叶子节点为所述JavaBean对象成员;所述叶子节点的赋值非空,其他节点赋值为空。
3.如权利要求2所述的方法,其特征在于,所述采用深度优先递归算法遍历所述多叉树内存数据结构,并将所述Yml文件中的JavaBean对象成员以及JavaBean对象成员对应的赋值转化为Key-Value键值对包括:
从所述多叉树内存数据结构中取出第一个元素,按照深度优先的原则遍历所述第一元素下的下一级子节点直至叶子节点;
将遍历过程中非叶子节点Name值以一个设定符号连接为一个字符串作为所述Key-Value键值对的Key,叶子节点的赋值作为所述Key-Value键值对的赋值,形成所述Key-Value键值对。
4.如权利要求3所述的方法,其特征在于,将所述新的Key-Value键值对转化为Yml文件内存字符串后持久化到Yml文件中包括:
顺序遍历所述Key-Value键值对获取散列对象的key和赋值;
将Key以所述设定符号分割符转化为数组,基于所述数组转化将散列对象的赋值持久化到Yml文件中;其中,所述数组标示所述Key按照所述设定符号分割符后的字符以及字符与字符之间的关系。
5.一种Yml文件读写的装置,其特征在于,包括:
第一转化模块,用于根据Yml文件的语法规则,将所述Yml文件转化为多叉树内存数据结构;
第二转化模块,用于采用深度优先递归算法遍历所述多叉树内存数据结构,并将所述Yml文件中的JavaBean对象成员以及JavaBean对象成员对应的赋值转化为Key-Value键值对;
还原模块,用于当对至少一个Key值对应的至少一个赋值进行修改,得到新的Key-Value键值对,将所述新的Key-Value键值对转化为Yml文件内存字符串后持久化到Yml文件中。
6.如权利要求5所述的装置,其特征在于,所述第一转化模块,具体用于逐行读取所述Yml文件,根据Yml文件的语法规则将所述Yml文件的每一行作为多叉树内存数据结构的一个节点添加到所述多叉树内存数据结构中,所述Yml文件中行与行之间的层级关系对应所述多叉树内存数据结构中每棵数据树的节点与节点之间的关系,并且每棵数据树的叶子节点为所述JavaBean对象成员;所述叶子节点的赋值非空,其他节点赋值为空。
7.如权利要求6所述的装置,其特征在于,第二转化模块,具体用于从所述多叉树内存数据结构中取出第一个元素,按照深度优先的原则遍历所述第一元素下的下一级子节点直至叶子节点;将遍历过程中非叶子节点Name值以一个设定符号连接为一个字符串作为所述Key-Value键值对的Key,叶子节点的赋值作为所述Key-Value键值对的赋值,形成所述Key-Value键值对。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司,未经大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811544944.X/1.html,转载请声明来源钻瓜专利网。