com.oroinc.io
Class SocketOutputStream
java.lang.Object
|
+--java.io.OutputStream
|
+--java.io.FilterOutputStream
|
+--com.oroinc.io.SocketOutputStream
- public class SocketOutputStream
- extends java.io.FilterOutputStream
This class wraps an output 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:
SocketInputStream
Fields inherited from class java.io.FilterOutputStream |
out |
Constructor Summary |
SocketOutputStream(java.net.Socket socket,
java.io.OutputStream stream)
Creates a SocketOutputStream instance wrapping an output stream and
storing a reference to a socket that should be closed on closing
the stream. |
Method Summary |
void |
close()
Closes the stream and immediately afterward closes the referenced
socket. |
void |
write(byte[] buffer,
int offset,
int length)
Writes a number of bytes from a byte array to the stream starting from
a given offset. |
Methods inherited from class java.io.FilterOutputStream |
flush, write, write |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SocketOutputStream
public SocketOutputStream(java.net.Socket socket,
java.io.OutputStream stream)
- Creates a SocketOutputStream instance wrapping an output 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.
write
public void write(byte[] buffer,
int offset,
int length)
throws java.io.IOException
- Writes a number of bytes from a byte array to the stream starting from
a given offset. This method bypasses the equivalent method in
FilterOutputStream because the FilterOutputStream implementation is
very inefficient.
- Overrides:
write
in class java.io.FilterOutputStream
- Parameters:
buffer
- The byte array to write.offset
- The offset into the array at which to start copying data.length
- The number of bytes to write.- Throws:
java.io.IOException
- If an error occurs while writing to the underlying
stream.
close
public void close()
throws java.io.IOException
- Closes the stream and immediately afterward closes the referenced
socket.
- Overrides:
close
in class java.io.FilterOutputStream
- Throws:
java.io.IOException
- If there is an error in closing the stream
or socket.
Copyright © 1997-2002 Daniel F. Savarese. All Rights Reserved.