57 lines
No EOL
1.9 KiB
Java
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)");
|
|
}
|
|
}
|
|
} |