【问题标题】:Java BufferedImage SerializationJava BufferedImage 序列化
【发布时间】:2017-04-22 10:42:33
【问题描述】:

我有服务器、客户端和消息类。 Message 类由服务器名称、客户端名称、BufferedImage、命令等组成。我想做的是将一个 BufferedImage 从服务器存储到消息作为序列化字节形式,将消息发送到客户端,并在客户端类中接收到消息后反序列化消息中的 BufferedImage。我想问怎么做,因为我能找到的只是将 BufferedImage 直接从服务器发送到客户端。

非常感谢。

【问题讨论】:

标签: java serialization bufferedimage


【解决方案1】:

您可以将消息实例写入ObjectOutputStream
只需定义带有所有字段的 Message 类即可序列化和 以字节表示形式存储 BufferedImage

从服务器端,您可以通过这种方式将消息写入输出流:

OutputStream outputStreamServer = ...;
byte[] bufferedImage = ...
Message message = new Message(bufferedImage, name, ...);
ObjectOutputStream ObjectOS = new ObjectOutputStream(outputStreamServer);
ObjectOS.writeObject(message);

这样,从客户端,您可以使用ObjectInputStream 读取服务器流并获取Message 实例。
当客户愿意时,他可以将字节反序列化为BufferedImage

 ObjectInputStream ObjectIS = new ObjectInputStream (inputStreamClient);
 Message message = (Message) ObjectIS.readObject();
 ...
 // where unserializeBufferedImage() is a custom method to do the unserialization
 BufferedImage image = message.unserializeBufferedImage();  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 2022-08-19
    • 2013-01-08
    • 1970-01-01
    • 2013-03-25
    相关资源
    最近更新 更多