DumperOptions:配置文件yml读写

DumperOptions:配置文件yml读写

demo

// list版本:
public static List<MyConfigYaml> readYaml(String filePath) throws Exception {
        ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
        List<MyConfigYaml> dataDirList = mapper.readValue(new File(filePath), new TypeReference<List<MyConfigYaml>>() { });
        return dataDirList;
    }
 
// 实例对象版本:
public static ApplicationYml readApplication(String configPath)
        throws IOException, JsonParseException, JsonMappingException {
        ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
        ApplicationYml applicationYml = mapper.readValue(new File(configPath), ApplicationYml.class);
        return applicationYml;
    }

使用DumperOptions方法:https://blog.csdn.net/mmh19891113/article/details/82079654
https://www.cnblogs.com/felixzh/p/6003370.html

    public static Object readYaml(String ymlPath) throws Exception {
        try (FileInputStream inputStream = new FileInputStream(ymlPath)) {
            DumperOptions dumperOptions = new DumperOptions();
            dumperOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
            dumperOptions.setDefaultScalarStyle(DumperOptions.ScalarStyle.PLAIN);
            dumperOptions.setPrettyFlow(false);
            Yaml yaml = new Yaml(dumperOptions);
            return yaml.load(inputStream);
        } catch (IOException e) {
            throw new FileNotFoundException("Write Yaml failed");
        }
    }

    public static void writeYaml(Object object, String ymlPath) throws Exception {
        try (FileOutputStream outputStream = new FileOutputStream(ymlPath);
            OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream)) 
            {
            DumperOptions dumperOptions = new DumperOptions();
            dumperOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
            dumperOptions.setDefaultScalarStyle(DumperOptions.ScalarStyle.PLAIN);
            dumperOptions.setPrettyFlow(false);
            Yaml yaml = new Yaml(dumperOptions);
            yaml.dump(object, outputStreamWriter);
        } catch (FileNotFoundException e) {
            throw new FileNotFoundException("Write Yaml failed");
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值