¿Por qué es bueno cerrar () un flujo de entrada?

Tengo una buena experiencia en lenguaje de programación Java. Pero una cosa que siempre ha estado en mi mente es que ¿por qué es necesarioclose() java.io.InputStream o sus subclases?

Ahora conjava.io.OutputStreamdecirFileOutputStream, después de escribir en un archivo, si no lo hacemosclose() la secuencia de salida, los datos que pretendíamos escribir en el archivo permanecen en el búfer y no se escriben en el archivo.

Entonces se hace necesarioclose() unOutputStream. Pero nunca tuve ninguna experiencia amarga despuésno cerrando unInputStream.

Pero aún así, todos los artículos en Internet y los libros dicen que siempre es bueno cerrar cualquier Stream, puede ser unInputStream o unOutputStream.

Entonces mi pregunta es por qué se hace necesarioclose() unInputStream? La gente dice que puedes enfrentar una pérdida de memoria tuya.close() eso. Entonces, ¿qué tipo de pérdida de memoria es esa?

Respuestas a la pregunta(4)

Su respuesta a la pregunta