Package org.apache.http.impl.io
Class ContentLengthOutputStream
java.lang.Object
java.io.OutputStream
org.apache.http.impl.io.ContentLengthOutputStream
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
Output stream that cuts off after a defined number of bytes. This class
is used to send content of HTTP messages where the end of the content entity
is determined by the value of the
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.
- Since:
- 4.0
-
Constructor Summary
ConstructorsConstructorDescriptionContentLengthOutputStream
(SessionOutputBuffer out, long contentLength) Wraps a session output buffer and cuts off output after a defined number of bytes. -
Method Summary
Methods inherited from class java.io.OutputStream
nullOutputStream
-
Constructor Details
-
ContentLengthOutputStream
Wraps a session output buffer and cuts off output after a defined number of bytes.- Parameters:
out
- The session output buffercontentLength
- The maximum number of bytes that can be written to the stream. Subsequent write operations will be ignored.- Since:
- 4.0
-
-
Method Details
-
close
Does not close the underlying socket output.
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classOutputStream
- Throws:
IOException
- If an I/O problem occurs.
-
flush
- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classOutputStream
- Throws:
IOException
-
write
- Overrides:
write
in classOutputStream
- Throws:
IOException
-
write
- Overrides:
write
in classOutputStream
- Throws:
IOException
-
write
- Specified by:
write
in classOutputStream
- Throws:
IOException
-