Как написать в файл YAML с помощью SnakeYaml?
рассмотрим следующий код:
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.дамп (данные объекта, вывод записи) запишет созданный документ 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());
}
но все же, хотя он говорит именно это во втором бит кода, он, похоже, не поддерживает манипуляции с определенным файлом, и, конечно, не показано, как это сделать.
это только я или документация кажется очень загадочной и определенной? Половина из них о специальных приложениях, о которых я никогда даже не слышал. Я чувствую себя очень глупо, просто глядя на него, и это меня злит.
1 ответов
если я понял вопрос, это, похоже, не имеет ничего общего с YAML или SnakeYAML как таковым, но связано с тем, как вы пишете в определенный файл на Java. В принципе, второй пример, который вы скопировали, показывает, как сбросить объект в произвольное java.io.Writer