java读取yaml文件内容作为参数

1.首先需要导入yaml所需要的依赖 可以在maven中下载

<groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>1.27</version>
    </dependency>

2.创建yaml对象并读取其中的内容,并以map形式储存

try{
          
   
            Yaml yaml = new Yaml();
            //通过class.getResource来获取yaml的路径
            URL resource = L1_8Main.class.getResource("L1_8.yaml");
            if (resource != null){
          
   
                //读取yaml中的数据并且以map集合的形式存储
                map = yaml.load(new FileInputStream(resource.getFile()));
            }
        }catch (Exception e){
          
   
            e.printStackTrace();
        }

3.分别获取yaml中对应的值然后进行赋值

//分别获取对应的值
        int num = (int)map.get("num");
        String printClsName = (String) map.get("printClsName");
        String nineClsName = (String) map.get("nineClsName");

4.最后yaml文件的创建 yaml的书写格式可以去网上自行查找 最后附上一张完整的代码

public class L1_8Main {
          
   
    public static void main(String[] args) throws Exception {
          
   
        HashMap<String,Object> map = new HashMap();
        try{
          
   
            Yaml yaml = new Yaml();
            //通过class.getResource来获取yaml的路径
            URL resource = L1_8Main.class.getResource("L1_8.yaml");
            if (resource != null){
          
   
                //读取yaml中的数据并且以map集合的形式存储
                map = yaml.load(new FileInputStream(resource.getFile()));
            }
        }catch (Exception e){
          
   
            e.printStackTrace();
        }
        //分别获取对应的值
        int num = (int)map.get("num");
        String printClsName = (String) map.get("printClsName");
        String nineClsName = (String) map.get("nineClsName");

        IPrint p = com.L1_6.Factory.getPrintObject(printClsName);
        com.L1_6.Factory.getINineObject(nineClsName,num,p).print(num);
    }
}
经验分享 程序员 微信小程序 职场和发展