Java 为什么;“打开的文件太多”;此处发生错误

Java 为什么;“打开的文件太多”;此处发生错误,java,iostream,Java,Iostream,在我的Java应用程序中,我有大约30个包含ObjectOutputStreams和ObjectInputStreams的Java文件。但我从不关闭任何地方的溪流。 应用程序在一段时间内运行良好,大约一周后,我收到了太多文件打开错误。这是因为没有关闭溪流还是其他原因 请帮助我更好地理解这个问题……任何流都必须在try-catch/with-finally(此处关闭)或try-with-resources中使用后关闭,以确保其关闭,因为它实现了Closable接口。 您应该close()如果不使

在我的Java应用程序中,我有大约30个包含ObjectOutputStreams和ObjectInputStreams的Java文件。但我从不关闭任何地方的溪流。 应用程序在一段时间内运行良好,大约一周后,我收到了太多文件打开错误。这是因为没有关闭溪流还是其他原因


请帮助我更好地理解这个问题……

任何流都必须在try-catch/with-finally(此处关闭)或try-with-resources中使用后关闭,以确保其关闭,因为它实现了Closable接口。

您应该
close()
如果不使用它,可能操作系统已经达到了打开文件的限制!
  try {
      // open stream
      // use stream

    } catch(IOException e) {
      // handle exceptions
    }
    finally{
      // try-catch closing( for multiple clsoes mainly)
    }