类 ReleasableInputStream

  • 所有已实现的接口:
    Releasable, java.io.Closeable, java.lang.AutoCloseable
    直接已知子类:
    ResettableInputStream

    public class ReleasableInputStream
    extends SdkFilterInputStream
    implements Releasable
    An input stream that can have the close operation disabled (to avoid accidentally being closed). This is necessary, for example, when an input stream needs to be marked-and-reset multiple times but only as long as the input stream has not been closed. To survive not being accidentally closed, the close method can be disabled via disableClose().

    The creator of this input stream should therefore always call release() in a finally block to truly release the underlying resources.

    另请参阅:
    Releasable, ResettableInputStream
    • 字段概要

      • 从类继承的字段 java.io.FilterInputStream

        in
    • 构造器概要

      构造器 
      限定符 构造器 说明
      protected ReleasableInputStream​(java.io.InputStream is)
      This constructor is not meant to be used directly.
    • 构造器详细资料

      • ReleasableInputStream

        protected ReleasableInputStream​(java.io.InputStream is)
        This constructor is not meant to be used directly. Use wrap(InputStream) instead.
    • 方法详细资料

      • close

        public final void close()
        If closeDisabled is false, closes this input stream and releases any system resources associated with the stream. Otherwise, this method does nothing.
        指定者:
        close 在接口中 java.lang.AutoCloseable
        指定者:
        close 在接口中 java.io.Closeable
        覆盖:
        close 在类中 SdkFilterInputStream
      • isCloseDisabled

        public final boolean isCloseDisabled()
        Returns true if the close method has been disabled; false otherwise. Once the close method is disabled, caller would be responsible to release resources via release().
      • disableClose

        public final <T extends ReleasableInputStream> T disableClose()
        Used to disable the close method. Once the close method is disabled, caller would be responsible to release resources via release().