Код: Выделить всё
public void save() {
try (Writer fileWriter = new FileWriter(file)) {
fileWriter.write("someStrings\n");
ArrayList
parentList = super.getParentType();
for (ParentType parentTypeObj : parentList) {
fileWriter.write(toString(parentTypeObj) + "\n");
}
ArrayList childList = super.getChildType();
for (ChildType childTypeObj : childList) {
fileWriter.write(toString(childTypeObj) + "\n");
}
} catch (IOException e) {
throw new ManagerSaveException();
}
}
public static String toString(ParentType parentTypeObj) {
if (parentTypeObj == null) return null;
String result = "";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy, HH:mm");
if (parentTypeObj instanceof ChildType) {
String startTime = parentTypeObj.getStartTime().format(formatter);
String endTime = parentTypeObj.getEndTime().format(formatter);
result = Integer.toString(parentTypeObj.getIdNum()) + ","
+ parentTypeObj.getClass().getSimpleName().toUpperCase() + ","
+ parentTypeObj.getName() + ","
+ parentTypeObj.getStatus() + ","
+ parentTypeObj.getDescription() + ","
+ ((ChildType) parentTypeObj).getSpecId() + ","
+ parentTypeObj.getDuration().toMinutes() + ","
+ startTime + ","
+ endTime + ",";
} else {
String startTime = parentTypeObj.getStartTime().format(formatter);
String endTime = parentTypeObj.getEndTime().format(formatter);
result = Integer.toString(parentTypeObj.getIdNum()) + ","
+ parentTypeObj.getClass().getSimpleName().toUpperCase() + ","
+ parentTypeObj.getName() + ","
+ parentTypeObj.getStatus() + ","
+ parentTypeObj.getDescription() + ","
+ parentTypeObj.getDuration().toMinutes() + ","
+ startTime + ","
+ endTime + ",";
}
return result;
}
Ожидается запись строковых значений в объект Writer через Stream.
Подробнее здесь: https://stackoverflow.com/questions/790 ... a-8-stream