Java - 通过TCP套接字传输BufferedImage

时间:2012-01-09 17:36:44

标签: java sockets tcp bufferedimage

我在Java方面不是很好,我需要通过TCP套接字发送BufferedImage。我已经设法建立连接(并发送字符串),但我无法找到我应该使用哪个Writer来发送和恢复BufferedImage。

2 个答案:

答案 0 :(得分:4)

您应ImageIO.write使用某种格式(PNG,JPG等)将图像序列化为字节流。

然后你应该通过网络发送字节流。这里的困难是你不知道前面的流的大小。简单的解决方案是将所有内容保存到内存中的字节数组中(使用ByteArrayOutputStream)然后发送它。或者,如果它不适合内存,你应该做一些聪明的事情(将其保存到临时文件中,或使用一些分块协议或发送唯一的终结器标记)。

答案 1 :(得分:0)

请参阅ImageIO class,其中包含reading的方法,并在各种输入/输出流中写入BufferedImageRenderedImage