Cześć. Chciałem napisać swoją taką skarbonkę, która pokazuje mi zmianę stanu konta i dzień w którym miała ona miejsce. Obiekt listy zapisywałem do pliku. Jednak przy wczytywaniu drukuje mi tylko ostatnie wejście, zapomina o poprzednich. Nie mogę w żaden sposób znaleźć błędu. Zerknie ktoś?
class Zapis {
private Operacje op = new Operacje();
private GregorianCalendar gregorianCalendar = new GregorianCalendar();
private Scanner scanner = new Scanner(System.in);
private ArrayList<String> x = new ArrayList<String>();
private Odczyt historia;
public void test() throws IOException, ClassNotFoundException, NullPointerException {
try {
op.dzien = String.format("%tc", gregorianCalendar);
op.kwota = scanner.nextInt();
scanner.nextLine();
op.naco = scanner.nextLine();
int tablesize;
tablesize = historia.array.size();
for (int i = 0; i < tablesize; i++) {
x.add("");
x.set(i, historia.array.get(i));
}
x.add(toString());
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("costam.bin"));
objectOutputStream.writeObject(x);
objectOutputStream.close();
;
}catch (NullPointerException e){
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("costam.bin"));
op.dzien = String.format("%tc", gregorianCalendar);
op.kwota = scanner.nextInt();
x.add(op.toString());
objectOutputStream.writeObject(x);
objectOutputStream.close();
public class Odczyt {
public static ArrayList<String> array;
public void test() throws IOException, ClassNotFoundException {
Zapis test2 = new Zapis();
ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("costam.bin"));
array = (ArrayList) objectInputStream.readObject();
int k = array.size();
for (int i = 0; i < k; i++) {
System.out.println(array.get(i));
}
test2.test();
}
}