Witam,
Mając taką klasę
public class StructKalkulator implements java.io.Serializable {
public List<Integer> listCalculator = new ArrayList<Integer>();
public char sign;
public int result;
StructKalkulator()
{
}
StructKalkulator(List<Integer> listCalculator, char sign, int result)
{
this.listCalculator = listCalculator;
this.sign = sign;
this.result = result;
}
}
Próbuję obiekt tej klasy zapisać do pliku w taki sposób
XMLEncoder encoder;
encoder = new XMLEncoder(new ObjectOutputStream(new FileOutputStream("D:\\Projekty\\Java\\eclipse-workspace\\list6\\wynik.xml")));
encoder.writeObject((new Kalkulator(1,2,3,4).Add()));
encoder.close();
Gdzie funkcja Kalkulator.Add() wyglada tak
public StructKalkulator Add()
{
int tempSum = 0;
for(Integer number : listCalculator)
{
tempSum += number;
}
return new StructKalkulator(listCalculator, '+', tempSum);
}
I obiekt jest błędnie zapisywany do pliku i ponadto wyskakuje mi błąd.
java.lang.IllegalAccessException: Class sun.reflect.misc.Trampoline can not access a member of class list6.StructKalkulator with modifiers ""
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(StructKalkulator);
Continuing ...
Czytałem o JavaBean, utworzyłem konstruktor bez parametrów. Dalej nic. Nie mam już pojęcia jak to zrobić.
Nie pytajcie o sens tego zadania, to na studia.
Za pomoc wielkie dzięki.
Pozdrawiam