代码:
//读取文件
private Map getResource(String classPath) {
ClassPathResource resource = new ClassPathResource(classPath);
InputStream inputStream;
Yaml yaml = new Yaml();
Map res = new linkedHashMap<>();
try {
inputStream = resource.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
Map map = yaml.load(reader);
buildFlattenedMap(res, asMap(map), null);
} catch (IOException e) {
LOGGER.info("get input stream fail", e);
}
return res;
}
//转为map
private Map asMap(Object object) {
// YAML can have numbers as keys
Map result = new linkedHashMap<>();
if (!(object instanceof Map)) {
// A document can be a text literal
result.put("document", object);
return result;
}
Map
测试:
public static void main(String[] args) {
Map res = new TestClass().getResource("application-dev1.yml");
System.out.println(res);
}
结果:
{spring.application.name=test, server.port=80}
结果为key value形式