gpt4 book ai didi

java - 如何使用 SnakeYaml 写入 YAML 文件?

转载 作者:搜寻专家 更新时间:2023-10-30 21:22:54 25 4
gpt4 key购买 nike

考虑以下代码:

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

但是,尽管它在代码的第二位中准确说明了这一点,但它似乎并不支持对某个文件的操作,而且肯定没有显示如何操作。

是只有我一个人,还是文档感觉非常含糊和具体?其中一半是关于我从未听说过的特殊应用程序。光是看着我就觉得自己很蠢,这让我有点生气。

无论如何;如果您能给我任何帮助,我将不胜感激。

最佳答案

如果我理解了这个问题,它似乎与 YAML 或 SnakeYAML 本身没有任何关系,而是与您如何用 Java 写入特定文件有关。基本上,您复制的第二个示例显示的是如何将对象转储到任意 java.io.Writer。对象(尽管他们使用 StringWriter 因为这不会将任何内容写入磁盘)。如果您想修改此示例以写入特定文件,您可以使用 FileWriter 来实现。 ,像这样:

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();
FileWriter writer = new FileWriter("/path/to/file.yaml");
yaml.dump(data, writer);
}

这会将 map data 转储到 YAML 文件中。请注意,通常不需要在打开 FileWriter 之前自己创建文件,因为 FileWriter 会为您处理。

关于java - 如何使用 SnakeYaml 写入 YAML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24949505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com