Есть ли способ изменить / удалить значения в YAML-файле с помощью java.
Я использую struts2-jquery-grid, где данные будут заполнены из файла YAML. Теперь, если я отредактирую поля, они должны быть сохранены в файле YAML. Я могу читать значение и записывать значения в файл в формате YAML, используя yaml.load () и yaml.dump () соответственно. Но у меня нет идеи редактировать и удалять конкретное поле.
Я прошел через http://code.google.com/p/snakeyaml/wiki/Documentation#Dumping_YAML, где я прочитал, что мы можем использовать обработчик шаблонов и другие параметры, такие как определение порядка свойства java bean, комментарии для упрощения yaml . Но для меня все это не имеет никакого смысла.
Вот мой код для сериализации списка объектов, называемых здесь предположением. В gridModel.add (допущение); я сохраняю значения класса Assception (класс компонента с ограничениями и сеттерами) в списке здесь, в gridModel.
gridModel.add(assumption);
try {
FileWriter pr=new FileWriter("D:/yaml.yaml");
DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
Yaml yaml = new Yaml(options);
String output=yaml.dump(gridModel);//,Tag.MAP, null);
pr.write(output);
System.out.print(pr.toString());
System.out.println();
pr.close();
}catch(Exception e){
e.printStackTrace();
}
Вывод, который я получаю в файле с именем yaml.yaml как:
- !! com.example.Assuming column1: '1' column2: Balwant column3: SPJ column4: rerer column5: null
- !! com.example.Assception column1: '' column2: Vikas column3: RNC column4: erer column5: null
- !! com.example.Assroduction column1: '3' column2: '' column3: PNBE column4: erer column5: null
- !! com.example.Assuming column1: '4' column2: Diwakar column3: BGP column4: rerer column5: null
- !! com.example.Assroduction column1: '5' column2: Ajay column3: Godda column4: '' column5: null
Код для десериализации:
InputStream input = new FileInputStream(new File("D:/yaml.yaml"));
Yaml yaml = new Yaml();
for (Object data : yaml.loadAll(input))
System.out.println("Data:"+data);
Вывод на консоль:
Данные: [предположение [столбец1 = 1, столбец2 = Balwant, столбец3 = SPJ, столбец4 = rerer, столбец5 = ноль], предположение [столбец1 =, столбец2 = Викас, столбец3 = RNC, столбец4 = erer, столбец5 = ноль], предположение [ column1 = 3, column2 =, column3 = PNBE, column4 = erer, column5 = null], Допущение [column1 = 4, column2 = Diwakar, column3 = BGP, column4 = rerer, column5 = null], Допущение [column1 = 5, column2 = Ajay, column3 = Godda, column4 =, column5 = null]]
Я новичок в yaml и struts2. Итак, ответьте, пожалуйста, чистым решением. Поправьте меня, если я ошибаюсь при описании требования. Заранее спасибо...