package app.io; import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import app.Pizza; import app.PizzaSize; import app.Topping; public class PizzaIOHandler { public static List read(String fileName) { if (fileName == null) fileName = "pizza.txt"; List pizzas = new ArrayList(); try { BufferedReader reader = new BufferedReader(new FileReader(fileName)); String line = null; while ((line = reader.readLine()) != null) { String[] val = line.split("#"); List toppings = new ArrayList(); for (int i = 2; i < val.length; i++) { toppings.add(Topping.valueOf(val[i])); } pizzas.add(new Pizza(val[0], PizzaSize.valueOf(val[1]), toppings)); } reader.close(); System.out.println(pizzas); return pizzas; } catch (IOException ex) { System.out.println("###ERROR### (IOException)"); } return null; } public static void write(List pizzas, String fileName) { if (fileName == null) fileName = "pizza.txt"; try (PrintWriter writer = new PrintWriter(new FileWriter(fileName))) { for (Pizza pizza : pizzas) { String line = pizza.getName(); line += "#" + pizza.getSize() + "#"; for (Topping topping : pizza.getToppings()) { line += topping + "#"; } writer.println(line); } } catch (IOException ex) { System.out.println("###ERROR### (IOException)"); } } }