ObjectOutputStream .writeObject

时间:2010-05-30 12:03:32

标签: java serialization objectoutputstream

我对这段代码有一些问题......这是一个JDialogForm,我有jTextField和button。当我点击按钮在另一个窗口中使用它时,我想从这个Jtextfield保存数据,但我不知道为什么它不起作用。我总是得到Exception ek和我放在那里的信息。

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    String sciezka = jTextField1.getText();
    if (sciezka.length() > 0)
    {
      Zmienne_pomocnicze zp = new Zmienne_pomocnicze();
      zp.setPrzechowaj(sciezka);
       try {
       ObjectOutputStream oos = new ObjectOutputStream (new FileOutputStream("danebaza"));
       oos.writeObject(zp);

       oos.close();


   } catch(Exception ek) {
       JOptionPane.showMessageDialog(null, "Nie mozna pobrac nazwy_przedmiotu: " + ek);
     }
   }
    this.setVisible(false);
}                    

类Zmienne_pomocnicze看起来像这样

public class Zmienne_pomocnicze {

    public String n;


    public void setPrzechowaj (String neew){
        n = neew;

    } public String getPrzechowaj () {
        return n; 
    } 
}

我猜问题是oos.writeObject(zp);但我不知道为什么。

1 个答案:

答案 0 :(得分:3)

你的班级Zmienne_pomocnicze不是Serializable。您必须声明它是可序列化的,以便将其写入对象输出流(并确保其所有数据成员也可序列化,但在您的特定情况下这是真的)。​​