Java ObjectOutputStream.writeObject
我对这个代码有一些问题。。。这是一个JDialogForm,其中有jTextField和button。当我点击按钮在另一个窗口中使用它时,我想保存这个Jtextfield中的数据,但我不知道为什么它不起作用。我总是收到我放在那里的信息Java ObjectOutputStream.writeObject,java,serialization,objectoutputstream,Java,Serialization,Objectoutputstream,我对这个代码有一些问题。。。这是一个JDialogForm,其中有jTextField和button。当我点击按钮在另一个窗口中使用它时,我想保存这个Jtextfield中的数据,但我不知道为什么它不起作用。我总是收到我放在那里的信息 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String sciezka
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);但我不知道为什么。你们班的Zmienne_pomocnicze不是。您必须声明它可序列化,以便将其写入对象输出流(并确保其所有数据成员也可序列化,尽管在您的特定情况下这是正确的)。您的类zmiene_pomocnicze不可序列化。您必须声明它可序列化,以便将其写入对象输出流(并确保其所有数据成员也可序列化,尽管在您的特定情况下这是正确的)。如果在异常捕获块中添加行ek.printStackTrace(),我相信您会找到答案。:)如果在异常捕获块中添加行ek.printStackTrace(),我相信您会找到答案。:)如果参数必须实现可序列化,为什么它不接受可序列化对象而不仅仅是对象?如果参数必须实现可序列化,为什么它不接受可序列化对象而不仅仅是对象?