当文件不可用时,InputStream在读取时抛出SocketTimeOutException

时间:2012-07-27 20:21:14

标签: java sockets socket.io socketexception

尝试从服务器读取一些图像文件并使用套接字编程。

但是当没有文件存在时,我收到socketTimeOut异常。不仅失去了与服务器的连接。

如果没有文件,如何避免丢失与服务器的连接。

InputStream inputStream = new BufferedInputStream(socket().getInputStream());

int i = -1;
while ((i = bufferedInputStream.read()) != -1) {
byteArrayOutputStream.write(i);
}

在上面的代码中,当我在bufferedInputStream上调用read()时,我会遇到异常。如何处理此异常并断开与服务器的连接。

由于

1 个答案:

答案 0 :(得分:1)

当文件[不存在]时,你不会得到那个例外。如果设置了读取超时并且在超时内没有数据到达,则可以获得它,如果超时太短,则提高它。如果您想永远等待,请将其删除。这是你的超时,你设置它。

如果收到SocketTimeoutException,则不会丢失连接。是什么让你觉得你做到了?