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.
| Modifier and Type | Field and Description |
|---|---|
private boolean |
closed
True if the stream is closed.
|
private long |
contentLength
The maximum number of bytes that can be written the stream.
|
private SessionOutputBuffer |
out
Wrapped session output buffer.
|
private long |
total
Total bytes written
|
| Constructor and Description |
|---|
ContentLengthOutputStream(SessionOutputBuffer out,
long contentLength)
Wraps a session output buffer and cuts off output after a defined number
of bytes.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Does not close the underlying socket output.
|
void |
flush() |
void |
write(byte[] b) |
void |
write(byte[] b,
int off,
int len) |
void |
write(int b) |
private final SessionOutputBuffer out
private final long contentLength
private long total
private boolean closed
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.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.OutputStreamjava.io.IOException - If an I/O problem occurs.public void flush()
throws java.io.IOException
flush in interface java.io.Flushableflush in class java.io.OutputStreamjava.io.IOExceptionpublic void write(byte[] b,
int off,
int len)
throws java.io.IOException
write in class java.io.OutputStreamjava.io.IOExceptionpublic void write(byte[] b)
throws java.io.IOException
write in class java.io.OutputStreamjava.io.IOExceptionpublic void write(int b)
throws java.io.IOException
write in class java.io.OutputStreamjava.io.IOException