@NotThreadSafe public class ContentLengthOutputStream extends java.io.OutputStream
Content-Length header
.
Entities transferred using this stream can be maximum Long.MAX_VALUE
long.
Note that this class NEVER closes the underlying stream, even when close gets called. Instead, the stream will be marked as closed and no further output will be permitted.
Constructor and Description |
---|
ContentLengthOutputStream(SessionOutputBuffer out,
long contentLength)
Wraps a session output buffer and cuts off output after a defined number
of bytes.
|
public ContentLengthOutputStream(SessionOutputBuffer out, long contentLength)
out
- The session output buffercontentLength
- The maximum number of bytes that can be written to
the stream. Subsequent write operations will be ignored.public void close() throws java.io.IOException
Does not close the underlying socket output.
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.OutputStream
java.io.IOException
- If an I/O problem occurs.public void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in class java.io.OutputStream
java.io.IOException
public void write(byte[] b, int off, int len) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void write(byte[] b) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void write(int b) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException