Prog2UE/de.hhn.ai.prog2.blatt3.pizzashop/src/app/io/PizzaIOHandler.java
2019-05-07 12:37:25 +02:00

57 lines
No EOL
1.9 KiB
Java

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<Pizza> read(String fileName) {
if (fileName == null)
fileName = "pizza.txt";
List<Pizza> pizzas = new ArrayList<Pizza>();
try {
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line = null;
while ((line = reader.readLine()) != null) {
String[] val = line.split("#");
List<Topping> toppings = new ArrayList<Topping>();
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<Pizza> 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)");
}
}
}