Class Overview
Wraps an existing OutputStream and buffers the output.
Expensive interaction with the underlying input stream is minimized, since
most (smaller) requests can be satisfied by accessing the buffer alone. The
drawback is that some extra space is required to hold the buffer and that
copying takes place when flushing that buffer, but this is usually outweighed
by the performance benefits.
A typical application pattern for the class looks like this:
BufferedOutputStream buf = new BufferedOutputStream(new FileOutputStream("file.java"));
Summary
| Fields |
|
protected
byte[] |
buf |
The buffer containing the bytes to be written to the target stream. |
|
protected
int |
count |
The total number of bytes inside the byte array buf. |
| Public Methods |
|
synchronized
void
|
close()
Closes this stream.
|
|
synchronized
void
|
flush()
Flushes this stream to ensure all pending data is written out to the
target stream.
|
|
synchronized
void
|
write(int oneByte)
Writes one byte to this stream.
|
|
synchronized
void
|
write(byte[] buffer, int offset, int length)
Writes count bytes from the byte array buffer starting at
offset to this stream.
|
|
[Expand]
Inherited Methods |
From class java.io.FilterOutputStream
|
void
|
close()
Closes this stream.
|
|
void
|
flush()
Ensures that all pending data is sent out to the target stream.
|
|
void
|
write(byte[] buffer)
Writes the entire contents of the byte array buffer to this
stream.
|
|
void
|
write(int oneByte)
Writes one byte to the target stream.
|
|
void
|
write(byte[] buffer, int offset, int length)
Writes count bytes from the byte array buffer starting at
offset to the target stream.
|
|
From class java.io.OutputStream
|
void
|
close()
Closes this stream.
|
|
void
|
flush()
Flushes this stream.
|
|
void
|
write(byte[] buffer)
Writes the entire contents of the byte array buffer to this
stream.
|
|
abstract
void
|
write(int oneByte)
Writes a single byte to this stream.
|
|
void
|
write(byte[] buffer, int offset, int count)
Writes count bytes from the byte array buffer starting at
position offset to this stream.
|
|
From class java.lang.Object
|
Object
|
clone()
Creates and returns a copy of this Object.
|
|
boolean
|
equals(Object o)
Compares this instance with the specified object and indicates if they
are equal.
|
|
void
|
finalize()
Is called before the object's memory is being reclaimed by the VM.
|
|
final
Class<? extends Object>
|
getClass()
Returns the unique instance of Class which represents this
object's class.
|
|
int
|
hashCode()
Returns an integer hash code for this object.
|
|
final
void
|
notify()
Causes a thread which is waiting on this object's monitor (by means of
calling one of the wait() methods) to be woken up.
|
|
final
void
|
notifyAll()
Causes all threads which are waiting on this object's monitor (by means
of calling one of the wait() methods) to be woken up.
|
|
String
|
toString()
Returns a string containing a concise, human-readable description of this
object.
|
|
final
void
|
wait(long millis, int nanos)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
|
final
void
|
wait(long millis)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
|
final
void
|
wait()
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
|
|
From interface java.io.Closeable
|
abstract
void
|
close()
Closes the object and release any system resources it holds.
|
|
From interface java.io.Flushable
|
abstract
void
|
flush()
Flushes the object by writing out any buffered data to the underlying
output.
|
|
Fields
protected
byte[]
buf
The buffer containing the bytes to be written to the target stream.
protected
int
count
The total number of bytes inside the byte array buf.
Public Constructors
public
BufferedOutputStream
(OutputStream out)
Constructs a new BufferedOutputStream on the OutputStream
out. The buffer size is set to the default value of 8 KB.
Parameters
| out
| the OutputStream for which write operations are
buffered.
|
public
BufferedOutputStream
(OutputStream out, int size)
Constructs a new BufferedOutputStream on the OutputStream
out. The buffer size is set to size.
Parameters
| out
| the output stream for which write operations are buffered. |
| size
| the size of the buffer in bytes. |
Public Methods
public
synchronized
void
close
()
Closes this stream. This implementation closes the target stream.
public
synchronized
void
flush
()
Flushes this stream to ensure all pending data is written out to the
target stream. In addition, the target stream is flushed.
Throws
| IOException
| if an error occurs attempting to flush this stream.
|
public
synchronized
void
write
(int oneByte)
Writes one byte to this stream. Only the low order byte of the integer
oneByte is written. If there is room in the buffer, the byte is
copied into the buffer and the count incremented. Otherwise, the buffer
plus oneByte are written to the target stream, the target is
flushed, and the buffer is reset.
Parameters
| oneByte
| the byte to be written. |
Throws
| IOException
| if an error occurs attempting to write to this stream.
|
public
synchronized
void
write
(byte[] buffer, int offset, int length)
Writes count bytes from the byte array buffer starting at
offset to this stream. If there is room in the buffer to hold the
bytes, they are copied in. If not, the buffered bytes plus the bytes in
buffer are written to the target stream, the target is flushed,
and the buffer is cleared.
Parameters
| buffer
| the buffer to be written. |
| offset
| the start position in buffer from where to get bytes. |
| length
| the number of bytes from buffer to write to this
stream. |