我正在使用遺留的java應用程序,在許多文件中,使用套接字和流,其中套接字正在關閉但不是流,這是關閉套接字之前關閉所有流所必需的。因爲我得到「太多打開的文件錯誤」,這是因爲沒有關閉流的錯誤.....關閉套接字是否關閉流?
關閉套接字會自動關閉流還?
2
A
回答
5
關閉此套接字也將關閉套接字的
InputStream
和OutputStream
。
所以一般來說,關閉套接字應該足以關閉它創建的兩個流。
「太多的打開的文件錯誤」很可能是由其他原因引起的。
2
關閉其中任何一個都會關閉另外兩個,但是您應該關閉已包裝在套接字上的最外層輸出流(或Writer
)。這將關閉輸入流和套接字。如果你自己沒有關閉最外層的輸出流,它將不會被刷新,你將失去數據。您也可以在finally
區塊中關閉插槽本身,以確保:實際上缺少finally
區塊可能是您問題的原因。
相關問題
- 1. 是否應關閉Java流在關閉後臺套接字之前?
- 2. SocketChannel.close()是否也關閉了套接字?
- 3. 關閉套接字
- 4. 關閉套接字?
- 5. 套接字關閉後關閉線程
- 6. 套接字關閉關閉錯誤
- 7. 關閉套接字連接
- 8. 套接字錯誤意味着套接字是否關閉
- 9. 如果關閉ServerSocket,ServerSocket接受的套接字是否也會關閉?
- 10. org.dom4j.DocumentException:流關閉嵌套異常:流閉
- 11. stream.spliterator()是否關閉流?
- 12. java套接字SocketException套接字關閉
- 13. 使用關閉而不是關閉重新使用套接字
- 14. Apache套接字不關閉?
- 15. Codenameone關閉套接字
- 16. java.net.SocketException套接字已關閉
- 17. 套接字關閉異常
- 18. 套接字關閉時間
- 19. JMeter java.net.SocketException:套接字關閉
- 20. android SocketException:套接字關閉
- 21. 關閉HTML5 Web套接字
- 22. 套接字關閉問題
- 23. 安卓:關閉套接字
- 24. 關閉線程套接字
- 25. Java - 關閉UDP套接字
- 26. 套接字不斷關閉
- 27. 如何關閉套接字
- 28. perl的關閉套接字
- 29. 關閉套接字和Windows
- 30. Linux套接字未關閉