如何使用SnakeYaml写入YAML文件?
2022-09-03 18:26:39
请考虑以下代码:
public static void dumpObjectToYaml(String key, Object O, String path) throws IOException
{
Map<String, Object> data = new HashMap<>();
data.put(key, O);
File F = new File(path);
F.mkdirs();
F.createNewFile();
//write data to File
}
此方法旨在将给定键处的给定对象 O 写入给定路径处的 YAML 文件中。(如果它不存在,则创建它。但显然,主要部分仍然缺失。
现在,按照SnakeYaml的文档,要创建一个YAML,我只需要创建一个地图,并在正确的键处放入对象,我就是这样做的。
但是没有任何地方(至少我没有看到它)描述了如何在某个路径上创建yaml文件!
我唯一发现的是:
“Yaml.dump(Object data) 方法接受一个 Java 对象并生成一个 YAML 文档”
public void testDump()
{
Map<String, Object> data = new HashMap<String, Object>();
data.put("name", "Silenthand Olleander");
data.put("race", "Human");
data.put("traits", new String[] { "ONE_HAND", "ONE_EYE" });
Yaml yaml = new Yaml();
String output = yaml.dump(data);
System.out.println(output);
}
和
“Yaml.dump(对象数据,写入器输出)会将生成的 YAML 文档写入指定的文件/流。
public void testDumpWriter()
{
Map<String, Object> data = new HashMap<String, Object>();
data.put("name", "Silenthand Olleander");
data.put("race", "Human");
data.put("traits", new String[] { "ONE_HAND", "ONE_EYE" });
Yaml yaml = new Yaml();
StringWriter writer = new StringWriter();
yaml.dump(data, writer);
System.out.println(writer.toString());
}
但是,即使它在第二段代码中完全说明了这一点,它似乎也不支持对某个文件的操作,并且肯定没有显示如何执行此操作。
是只有我,还是文档感觉非常隐晦和指定?其中一半是关于我从未听说过的特殊应用。光是看着它,我就觉得自己真的很傻,这让我有点生气。
无论如何;我真的很感激你能给我的任何帮助。