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); } }