将ObjectOutputStream传递给另一个类

时间:2012-06-10 03:35:35

标签: java parameter-passing objectoutputstream objectinputstream

我正在开发一个GUI程序,用于在Vector中保存数据的客户端/服务器系统中。我有一个ObjectOutputStreamObjectInputStream是在我建立连接时创建的,但是当我尝试打开它时,我不知道如何将它传递给新类。在我的Startup类中,我有一个Serializable对象(Message m),它被创建并传递到不同的类中以修改不同的字段,以及在客户端和服务器之间建立连接

在我的Startup课程中,我有这段代码......

m.yourName = tmyName.getText();
m.department = tdepartment.getText();

if (m.yourName != null && m.department != null) {
    client = new Socket(server, port);
    oout = new ObjectOutputStream(client.getOutputStream());
    oin = new ObjectInputStream(client.getInputStream());
    toutput.setText("Connected");
    oout.writeObject(m);
    new WhatToDo (m, oout, oin);
}

WhatToDo班级,我有这段代码......

Message m;
ObjectOutputStream oout;
ObjectInputStream oin;

public WhatToDo(Message a, ObjectOutputStream oout2, ObjectInputStream oin2){
    m = new Message();
    m = a;

    // this is what i'm unsure about and need help with
    oout = oout2; //but need to construct oout first
    oin = oin2; //but need to construct oin first
}

如果我像ObjectOutputStream那样执行新的ObjectInputStreamStartup,我将创建与服务器的新连接。我希望使用StreamsStartup中创建的现有WhatToDo。感谢您的帮助!

我在按下按钮时使用ActionListener,因此需要将这些流保存在构造函数中,以便以后在ActionListener中使用。

1 个答案:

答案 0 :(得分:0)

  

我希望使用现有的Streams

这正是您的代码现在所做的。您对“但需要构建”的评论不正确。