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
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
-
Field Summary
Fields inherited from class java.io.FilterInputStream
in
-
Constructor Summary
ConstructorDescriptionCloseShieldInputStream
(InputStream inputStream) Deprecated.Using this constructor prevents IDEs from warning if the underlying input stream is never closed. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Replaces the underlying input stream with aClosedInputStream
sentinel.static InputStream
systemIn
(InputStream inputStream) Constructs a proxy that only shieldsSystem.in
from closing.static CloseShieldInputStream
wrap
(InputStream inputStream) Constructs a proxy that shields the given input stream from being closed.Methods inherited from class org.apache.commons.io.input.ProxyInputStream
afterRead, available, beforeRead, handleIOException, mark, markSupported, read, read, read, reset, skip, unwrap
-
Constructor Details
-
CloseShieldInputStream
Deprecated.Using this constructor prevents IDEs from warning if the underlying input stream is never closed. Usewrap(InputStream)
instead.Constructs a proxy that shields the given input stream from being closed.- Parameters:
inputStream
- underlying input stream
-
-
Method Details
-
systemIn
Constructs a proxy that only shieldsSystem.in
from closing.- Parameters:
inputStream
- the candidate input stream.- Returns:
- the given stream or a proxy on
System.in
. - Since:
- 2.17.0
-
wrap
Constructs a proxy that shields the given input stream from being closed.- Parameters:
inputStream
- the input stream to wrap- Returns:
- the created proxy
- Since:
- 2.9.0
-
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
-