ImageIO什么时候应该停止从InputStream读取?

时间:2012-02-06 21:50:53

标签: java inputstream javax.imageio

我正在尝试使用Java在newtork上创建一个接收JPG图像的服务器。

isr = socket.getInputStream();
BufferedImage img = ImageIO.read(isr);

我想完成阅读,但保持套接字连接。 ImageIO仅在关闭连接时停止。当我两次发送相同的图像时它也会停止。

1 个答案:

答案 0 :(得分:-1)

ImageIO.read应继续从输入流中读取,直到它具有整个文件,此时它将停止读取。然后调用者有责任在输入流上调用close。

您不会将任何数据从客户端发送到服务器,以告诉您已完成阅读。只需关闭连接即可。

如果服务器发送两次相同的图像,或发送两个不同的图像,则必须建立两个套接字连接,或使用其他方法读取数据。据我所知,ImageIO.read无法读取两个图像。

相关问题