Package org.apache.commons.io.input
Class CloseShieldInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- org.apache.commons.io.input.ProxyInputStream
-
- org.apache.commons.io.input.CloseShieldInputStream
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class CloseShieldInputStream extends ProxyInputStream
Proxy stream that prevents the underlying input stream from being closed.This class is typically used in cases where an input stream needs to be passed to a component that wants to explicitly close the stream even if more input would still be available to other components.
- Since:
- 1.4
-
-
Constructor Summary
Constructors Constructor Description CloseShieldInputStream(InputStream in)
Creates a proxy that shields the given input stream from being closed.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Replaces the underlying input stream with aClosedInputStream
sentinel.-
Methods inherited from class org.apache.commons.io.input.ProxyInputStream
available, mark, markSupported, read, read, read, reset, skip
-
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
Constructor Detail
-
CloseShieldInputStream
public CloseShieldInputStream(InputStream in)
Creates a proxy that shields the given input stream from being closed.- Parameters:
in
- underlying input stream
-
-
Method Detail
-
close
public void close()
Replaces the underlying input stream with aClosedInputStream
sentinel. The original input stream will remain open, but this proxy will appear closed.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classProxyInputStream
-
-