【发布时间】:2014-09-16 22:34:43
【问题描述】:
考虑以下代码:
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 文件中。 (如果它不存在,则创建它。)但显然主要部分仍然缺失。
现在跟随the documentation of 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(Object data, Writer output) 会将生成的 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());
}
但是,尽管它在第二段代码中准确地说明了这一点,但它似乎不支持对某个文件的操作,当然也没有显示如何操作。
是只有我一个人,还是文档感觉非常神秘和具体?其中一半是关于我从未听说过的特殊应用。光是看着我就觉得自己很笨,这让我有点生气。
无论如何;如果您能给我任何帮助,我将不胜感激。
【问题讨论】:
标签: java file output fileoutputstream snakeyaml