Package com.oroinc.io
Class SocketInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
com.oroinc.io.SocketInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
This class wraps an input stream, storing a reference to its originating
socket. When the stream is closed, it will also close the socket
immediately afterward. This class is useful for situations where you
are dealing with a stream originating from a socket, but do not have
a reference to the socket, and want to make sure it closes when the
stream closes.
- Author:
- Daniel F. Savarese
- See Also:
-
Field Summary
Fields inherited from class java.io.FilterInputStream
in
-
Constructor Summary
ConstructorsConstructorDescriptionSocketInputStream
(Socket socket, InputStream stream) Creates a SocketInputStream instance wrapping an input stream and storing a reference to a socket that should be closed on closing the stream. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes the stream and immediately afterward closes the referenced socket.Methods inherited from class java.io.FilterInputStream
available, mark, markSupported, read, read, read, reset, skip
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Constructor Details
-
SocketInputStream
Creates a SocketInputStream instance wrapping an input stream and storing a reference to a socket that should be closed on closing the stream.- Parameters:
socket
- The socket to close on closing the stream.stream
- The input stream to wrap.
-
-
Method Details
-
close
Closes the stream and immediately afterward closes the referenced socket.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classFilterInputStream
- Throws:
IOException
- If there is an error in closing the stream or socket.
-