Snakeyaml loadAll, изменить данные, затем dumpAllJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Snakeyaml loadAll, изменить данные, затем dumpAll

Сообщение Anonymous »

Я пытаюсь использовать Snakeyaml, чтобы прочитать файл yaml, изменить некоторые значения, а затем записать его в другой файл. У меня есть несколько документов в 1 файле (разделенных на ---), поэтому мне нужно использовать loadAll для чтения файла, а затем dumpAll для его записи. Моя проблема в том, что я не могу заставить это работать, но простая загрузка и дамп работает нормально (конечно, мне пришлось удалить несколько документов и оставить только один)
Вот рабочий код, используя только загрузку и дамп, если yaml содержит один только документ.
Yaml yaml = new Yaml();
InputStream inputStream = this.getClass()
.getClassLoader()
.getResourceAsStream("old.yml");
Map data = yaml.load(inputStream);
modifyData(data);
FileWriter writer = new FileWriter("new.yml");
yaml.dump(data, writer);

А вот моя реализация при попытке использовать loadAll и dumpAll, где после выполнения dumpAll все, что я получаю, — это пустой файл.
Вот моя реализация при попытке использовать loadAll и dumpAll, где после выполнения dumpAll я получаю только пустой файл.
Вот моя реализация при попытке использовать loadAll и dumpAll. p>
Yaml yaml = new Yaml();
InputStream inputStream = this.getClass()
.getClassLoader()
.getResourceAsStream("old.yml");
Iterable data = yaml.loadAll(inputStream);

for (Object object : data ) {
modifyData((Map) object);
}

FileWriter writer = new FileWriter("new.yml");
yaml.dumpAll(data.iterator(), writer);


Подробнее здесь: https://stackoverflow.com/questions/792 ... en-dumpall
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»