Hej!
Obiekt mi się serializuje i deserializuje prawidłowo w ramach jednego projektu. Tzn pewną klasę sobie zapisuje i wczytuje.
Natomiast taką samą klasę ma zadeklarowaną w innym programie i niestety jest błąd przy deserializacji... Ma ktoś jakiś pomysł?? Externalizable? RMI ?
Klasa która występuje w dwóch projektach
public class UstawieniaTestu implements Serializable {
String KomunikatPowitalny = null;
String WygladProgramu = null;
String AutorTestu = null;
}
kod serializacji w Edytorze
public boolean ZapiszUstawieniaTestuDoPliku(String nazwa_pliku)
{
UstawieniaTestu Ustawienia = new UstawieniaTestu();
Ustawienia.AutorTestu = AutorTestujTextField.getText();
Ustawienia.KomunikatPowitalny = KomunikatPowitalnyjTextField.getText();
Ustawienia.WygladProgramu = (String)WygladProgramujComboBox.getSelectedItem();
try
{
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(nazwa_pliku));
out.writeObject(Ustawienia);
out.close();
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(this, e.toString(), "Błąd", JOptionPane.ERROR_MESSAGE);
} catch (IOException e) {
JOptionPane.showMessageDialog(this, e.toString(), "Błąd", JOptionPane.ERROR_MESSAGE);
}
return true;
}
Kod deserializacji ktory jest identyczny w obu projektach
void OtworzPlikZUstawieniamiTestu(String nazwa_pliku)
{
UstawieniaTestu Ustawienia = null;
try
{
ObjectInputStream in = new ObjectInputStream(new FileInputStream(nazwa_pliku));
Ustawienia = (UstawieniaTestu) in.readObject();
in.close();
}
catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(this, e.toString() + " " + nazwa_pliku, "Błąd", JOptionPane.ERROR_MESSAGE);
} catch (IOException e) {
JOptionPane.showMessageDialog(this, e.toString() + " " + nazwa_pliku, "Błąd", JOptionPane.ERROR_MESSAGE);
}
catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(this, e.toString() + " " + nazwa_pliku, "Błąd", JOptionPane.ERROR_MESSAGE);
}
//JOptionPane.showMessageDialog(this, Ustawienia.KomunikatPowitalny, "Informacja", JOptionPane.INFORMATION_MESSAGE);
}
W obrębie programu który serializaje i deserializuje jest ok, natomiast program który tylko deserializuje to już jest błąd ClassNotFoundException.
Moze serializowana jest wersja z ktorego programu jest zapisywane??