Java 将ObjectOutputStream传递给另一个类
我正在开发一个用于客户机/服务器系统的GUI程序,该程序将数据保存在Java 将ObjectOutputStream传递给另一个类,java,parameter-passing,objectoutputstream,objectinputstream,Java,Parameter Passing,Objectoutputstream,Objectinputstream,我正在开发一个用于客户机/服务器系统的GUI程序,该程序将数据保存在向量中。我有一个ObjectOutputStream和ObjectInputStream是在建立连接时创建的,但是当我尝试打开一个类时,我不知道如何将其传递到新类中。在我的Startup类中,我有一个Serializable对象(Message m),它被创建并传递到不同的类中,以修改不同的字段,并且在客户机和服务器之间建立连接 在我的启动课程中,我有以下代码 m.yourName = tmyName.getText(); m.
向量中。我有一个ObjectOutputStream
和ObjectInputStream
是在建立连接时创建的,但是当我尝试打开一个类时,我不知道如何将其传递到新类中。在我的Startup
类中,我有一个Serializable
对象(Message m
),它被创建并传递到不同的类中,以修改不同的字段,并且在客户机和服务器之间建立连接
在我的启动
课程中,我有以下代码
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);
}
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
}
在WhatToDo
类中,我有这个代码
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);
}
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
和ObjectInputStream
,我将创建到服务器的新连接。我希望使用在WhatToDo
中的Startup
中创建的现有流。提前感谢您的帮助
我正在使用一个按钮按下的ActionListener
,因此流需要保存在构造函数中,以便以后在ActionListener
中使用
我希望使用现有的数据流
这正是您的代码现在所做的。您关于“但需要构造”的评论不正确。您当前的代码有什么问题?无论您做什么,看起来都不错。除了您缺少代码>上一个to语句。谢谢,我担心在不构造它们的情况下使用它们(空指针错误),但这里似乎不是这样。非常感谢。