JYaml——>Yaml的Java实现
发布时间:2020-12-15 07:45:06 所属栏目:Java 来源:网络整理
导读:JYaml——Yaml的Java实现 JYaml支持的数据类型: 原始数据类型和封装类(int,java.lang.Integer) JavaBean兼容对象(结构支持) collection(sequence支持) List Set Map(map支持) Arrays(sequence支持) BigInteger和BigDecimal Date JYaml实例: 将Java
JYaml——>Yaml的Java实现JYaml支持的数据类型:
JYaml实例: //创建实体类 package com.richfit.example; import java.util.List; public class General { private String name; private String address; private List<String> family; //省略getter和setter } package com.richfit.example; import org.ho.yaml.Yaml; import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.List; public class demo { //为实体类赋值 public static General set(){ General general=new General(); general.setName("许褚"); general.setAddress("安徽亳州"); List<String> family=new ArrayList<String>(); family.add("父亲"); family.add("母亲"); general.setFamily(family); return general; } //将实体类直接写入yaml文件 public static void main(String[] args) { File dumpfile = new File("E:workspace_javaJYamlsrccomrichfitexamplegeneral_dump.yaml"); General general=set(); try { Yaml.dump(general,dumpfile); } catch (FileNotFoundException e) { e.printStackTrace(); } } } 效果如下: --- !com.richfit.example.General address: 安徽亳州 family: - 父亲 - 母亲 name: 许褚 将yaml文件load到pojo对象 package com.richfit.example; import org.ho.yaml.Yaml; import java.io.File; import java.io.FileNotFoundException; public class Load { public static void main(String[] args) { General general= new General(); try { general = (General) Yaml.load(new File("E:workspace_javaJYamlsrccomrichfitexamplegeneral_dump.yaml")); } catch (FileNotFoundException e) { e.printStackTrace(); } System.out.println(general.getName()+" "+general.getAddress()+" "+general.getFamily()); } } 注意: <!-- https://mvnrepository.com/artifact/org.jyaml/jyaml --> <dependency> <groupId>org.jyaml</groupId> <artifactId>jyaml</artifactId> <version>1.3</version> </dependency> 可能会出现发自动导入依赖的jar包,可以下载jar包自行导入。 流处理 package com.richfit.example; import org.ho.yaml.Yaml; import org.ho.yaml.YamlEncoder; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; public class Flow { public static void main(String[] args) { File dumpfile=new File("E:workspace_javaJYamlsrccomrichfitexamplegeneral_dump.yaml"); File dumpfile1=new File("E:workspace_javaJYamlsrccomrichfitexamplegeneral1_dump.yaml"); try { General general=(General) Yaml.loadType(dumpfile,General.class); YamlEncoder encoder=new YamlEncoder(new FileOutputStream(dumpfile1)); for (int i=0;i<3;i++){ general.setName(general.getName()+i); encoder.writeObject(general); encoder.flush(); } encoder.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } } mongodb->pojo->yamlpublic void read1(String name) { Query query = new Query(Criteria.where("name").is(name));//条件查询 List<Book> books = this.mongoTemplate.find(query,Book.class); File dumpfile = new File("E:workspace_javaJYamlsrcmainjavacomrichfitmodulesmongotestbook.yaml"); try { for (Book book : books) { Yaml.dump(book,dumpfile); } } catch (FileNotFoundException e) { e.printStackTrace(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |