我正在尝试编写一些具有以下基本形式的简单套接字代码 -
try(BufferedReader request = new BufferedReader(new InputStreamReader(sock.getInputStream()))){
//Do some work...
}
//BufferedReader gets closed, but also makes the socket close
...
...
response.write(blah);//Causes exception because socket is closed
我的问题是套接字正在关闭,但我认为不应该。try-with-resources 创建了一个 BufferedReader,然后在我离开 try 块时自动关闭它,但由于某种原因,它也关闭了整个套接字!因此,当我稍后使用相同的套接字访问我的响应代码时,我得到了一个异常。有没有什么办法解决这一问题?还是我只需要不使用 try-with-resources (这不太理想)?