У меня есть простая java-программа, которая использует змейку для чтения файла yaml, и я отредактировал некоторые значения объекта yaml. Но я не могу сбросить объект обратно в файл yaml. Не уверен, как правильно сбросить объект yaml в файл.
Вот код
InputStream input = new FileInputStream(new File("/etc/cassandra/cassandra.yaml"));
Writer output = null;
try {
output = new FileWriter("/etc/cassandra/cassandra.yaml");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Yaml yaml = new Yaml();
Map<String, Object> data = (Map<String, Object>) yaml.load(input);
System.out.println("yaml data is " +data.get("saved_caches_directory"));
data.put("saved_caches_directory", "/var/lib/cassandra/saved_new_caches");
yaml.dump(data, output);
System.out.println(output.toString());
output.write(data); // Error in this line.
}
Мне нужен yaml.dump() для сброса измененного объекта yaml обратно в файл. Я не уверен, как там происходит запись. Согласно eclipse yaml.dump(данные, вывод); метод доступен, когда вывод является объектом записи. Я не уверен, как создать экземпляр объекта записи, чтобы отправить его обратно в файл.