⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
org.apache.commons.net.io

Class SocketOutputStream

FilterOutputStream
|
+--org.apache.commons.net.io.SocketOutputStream


public class SocketOutputStream
extends 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

Constructor Summary

SocketOutputStream(Socket socket, 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.

Constructor Details

SocketOutputStream

public SocketOutputStream(Socket socket, 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.

Method Details

close

public void close()

Closes the stream and immediately afterward closes the referenced socket.

Throws:
- If there is an error in closing the stream or socket.

write

public 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. This method bypasses the equivalent method in FilterOutputStream because the FilterOutputStream implementation is very inefficient.

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:
- If an error occurs while writing to the underlying stream.