The specifications of `FileInputStream` and `FileOutputStream` are changed to require calling the `close` method when "there are no more references to the stream" only in the case where it would affect a subclass that has overridden the `close` method. The stream's `finalize` method does not call `close` directly in this case. In other cases, the release of resources is implementation specific. Refer to the `FileInputStream` and `FileOutputStream` documentation for recommendations.