java.io
Class BufferedOutputStream
java.lang.Object
|
+--java.io.OutputStream
|
+--java.io.FilterOutputStream
|
+--java.io.BufferedOutputStream
- public class BufferedOutputStream
- extends FilterOutputStream
The class implements a buffered output stream. By setting up such
an output stream, an application can write bytes to the underlying
output stream without necessarily causing a call to the underlying
system for each byte written. The data is written into an internal
buffer, and then written to the underlying stream if the buffer
reaches its capacity, the buffer output stream is closed, or the
buffer output stream is explicitly flushed.
- Since:
- JDK1.0
Field Summary |
protected byte[] |
buf
The internal buffer where data is stored. |
protected int |
count
The number of valid bytes in the buffer. |
Constructor Summary |
BufferedOutputStream(OutputStream out)
Creates a new buffered output stream to write data to the
specified underlying output stream with a default 512-byte
buffer size. |
BufferedOutputStream(OutputStream out,
int size)
Creates a new buffered output stream to write data to the
specified underlying output stream with the specified buffer
size. |
Method Summary |
void |
flush()
Flushes this buffered output stream. |
void |
write(byte[] b,
int off,
int len)
Writes len bytes from the specified byte array
starting at offset off to this buffered output stream. |
void |
write(int b)
Writes the specified byte to this buffered output stream. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
buf
protected byte[] buf
- The internal buffer where data is stored.
count
protected int count
- The number of valid bytes in the buffer. This value is always
in the range 0 through buf.length; elements
buf[0] through buf[count-1] contain valid
byte data.
BufferedOutputStream
public BufferedOutputStream(OutputStream out)
- Creates a new buffered output stream to write data to the
specified underlying output stream with a default 512-byte
buffer size.
- Parameters:
out
- the underlying output stream.
BufferedOutputStream
public BufferedOutputStream(OutputStream out,
int size)
- Creates a new buffered output stream to write data to the
specified underlying output stream with the specified buffer
size.
- Parameters:
out
- the underlying output stream.size
- the buffer size.- Throws:
- IllegalArgumentException - if size <= 0.
write
public void write(int b)
throws IOException
- Writes the specified byte to this buffered output stream.
- Parameters:
b
- the byte to be written.- Throws:
- IOException - if an I/O error occurs.
- Overrides:
- write in class FilterOutputStream
write
public void write(byte[] b,
int off,
int len)
throws IOException
- Writes
len
bytes from the specified byte array
starting at offset off
to this buffered output stream.
Ordinarily this method stores bytes from the given array into this
stream's buffer, flushing the buffer to the underlying output stream as
needed. If the requested length is at least as large as this stream's
buffer, however, then this method will flush the buffer and write the
bytes directly to the underlying output stream. Thus redundant
BufferedOutputStream
s will not copy data unnecessarily.
- Parameters:
b
- the data.off
- the start offset in the data.len
- the number of bytes to write.- Throws:
- IOException - if an I/O error occurs.
- Overrides:
- write in class FilterOutputStream
flush
public void flush()
throws IOException
- Flushes this buffered output stream. This forces any buffered
output bytes to be written out to the underlying output stream.
- Throws:
- IOException - if an I/O error occurs.
- Overrides:
- flush in class FilterOutputStream
- See Also:
FilterOutputStream.out
Submit a bug or feature Version 1.2 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.