No busques más por todo internet porque has llegado al espacio indicado, tenemos la respuesta que buscas sin complicaciones.
Solución:
Si entendí la pregunta, no parece tener nada que ver con YAML o SnakeYAML per se, sino con cómo escribes en un archivo específico en Java. Básicamente, lo que muestra el segundo ejemplo que copió es cómo volcar un objeto en un lugar arbitrario. java.io.Writer
objeto (aunque usan un StringWriter
ya que esto no escribirá nada en el disco). Si desea modificar este ejemplo para escribir en un archivo en particular, puede hacerlo haciendo uso de un FileWriter
al igual que:
public void testDumpWriter()
Map data = new HashMap();
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);
Que volcará el mapa data
a un archivo YAML. Tenga en cuenta que normalmente no es necesario crear el archivo usted mismo antes de abrir el FileWriter
como el FileWriter
manejará eso por ti.
Otra forma de escribir datos
Map map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
YamlWriter writer = new YamlWriter(new FileWriter("test.yml"));
writer.write(map);
writer.close();
Producción:
key1: value1
key2: value2
key3: value3
Para mí, en este caso, veo una salida más legible. Desde la primera solución, veremos un resultado como este:
key1: value1, key2: value2, key3: value3
Si vamos a tener una gran cantidad de datos será difícil de leer
PD: necesitamos algo de dependencia
com.esotericsoftware.yamlbeans
yamlbeans
1.13
Si te gusta el asunto, tienes la habilidad dejar una noticia acerca de qué le añadirías a esta crónica.