Kar*_*hik 4 java sockets inputstream outputstream stream
我正在使用遗留的Java应用程序,在许多文件中,使用套接字和流,其中套接字正在关闭而不是流,这是在关闭套接字之前关闭所有流所必需的.因为我收到"太多的打开文件错误",这个错误是因为没有关闭流.....
关闭套接字会自动关闭流吗?
关闭此套接字也将关闭套接字
InputStream和OutputStream.
所以一般来说,关闭套接字应该足以关闭它创建的两个流.
您的"太多打开文件错误"很可能是由其他原因造成的.
关闭其中任何一个都会关闭另外两个,但您应该关闭Writer包裹在套接字上的最外层输出流(或 )。这会关闭输入流和套接字。如果您自己不关闭最外层的输出流,它就不会被刷新,因此如果堆栈中有缓冲的输出流或写入器,您可能会丢失数据。您还可以在块中关闭套接字本身,finally以确保:事实上,缺少finally块很可能是问题的原因。