尝试将自定义对象写入 outputStream 时获取 java.io.NotSerializableException
Getting a java.io.NotSerializableException when trying to write custom object to outputStream
try
{
CompressedMessage cMessage = new CompressedMessage(messageArea.getText(), false);
cMessage.compressMessage();
EncryptedMessage eMessage = new EncryptedMessage(MessageType.USERMESSAGE, "", cMessage);
outputStream.writeObject(eMessage);
}
catch (IOException e1)
{
System.out.println(e1);
System.exit(1);
}
我正在尝试向服务器(本地 atm)发送消息,在尝试发送 EncryptedMessage 对象之前(以字符串形式)发送数据时没有问题。
public class EncryptedMessage
{
private MessageType type;
private String receipent;
private CompressedMessage message;
public EncryptedMessage(MessageType T, String R, CompressedMessage mes)
{
type = T;
receipent = R;
message = mes;
}
public MessageType getType()
{
return type;
}
public void setType(MessageType type)
{
this.type = type;
}
public String getReceipent()
{
return receipent;
}
public void setReceipent(String receipent)
{
this.receipent = receipent;
}
public CompressedMessage getMessage()
{
return message;
}
}
如有任何帮助,我们将不胜感激
EncryptedMessage 和 CompressedMessage 应该实现 Serializable .
try
{
CompressedMessage cMessage = new CompressedMessage(messageArea.getText(), false);
cMessage.compressMessage();
EncryptedMessage eMessage = new EncryptedMessage(MessageType.USERMESSAGE, "", cMessage);
outputStream.writeObject(eMessage);
}
catch (IOException e1)
{
System.out.println(e1);
System.exit(1);
}
我正在尝试向服务器(本地 atm)发送消息,在尝试发送 EncryptedMessage 对象之前(以字符串形式)发送数据时没有问题。
public class EncryptedMessage
{
private MessageType type;
private String receipent;
private CompressedMessage message;
public EncryptedMessage(MessageType T, String R, CompressedMessage mes)
{
type = T;
receipent = R;
message = mes;
}
public MessageType getType()
{
return type;
}
public void setType(MessageType type)
{
this.type = type;
}
public String getReceipent()
{
return receipent;
}
public void setReceipent(String receipent)
{
this.receipent = receipent;
}
public CompressedMessage getMessage()
{
return message;
}
}
如有任何帮助,我们将不胜感激
EncryptedMessage 和 CompressedMessage 应该实现 Serializable .