java.io.BufferedInputStreamBufferedInputStream adds functionality to another input stream-namely,
the ability to buffer the input and to support the mark and reset methods. When
the BufferedInputStream is created, an internal buffer array is created. As bytes
from the stream are read or skipped, the internal buffer is refilled as necessary
from the contained input stream, many bytes at a time. The mark operation
remembers a point in the input stream and the reset operation causes all the
bytes read since the most recent mark operation to be reread before new bytes are
taken from the contained input stream.
public classBufferedInputStreamextends FilterInputStream { protected byte[]buf; protected intcount= 0; protected intpos= 0; protected intmarkpos= -1; protected intmarklimit= 0; publicBufferedInputStream(InputStream in); publicBufferedInputStream(InputStream in, int size); public intread() throws IOException; public intread(byte[] b) throws IOException, NullPointerException; public intread(byte[] b, int off, int len) throws IOException, NullPointerException, IndexOutOfBoundsException; public longskip(long n) throws IOException; public intavailable() throws IOException; public voidmark(int readlimit); public voidreset() throws IOException; public booleanmarkSupported(); }
22.10.1 protected byte[]
buf;
The internal buffer array. When necessary, it may be replaced by another array of a different size.
22.10.2 protected int
count = 0;
This value is always in the range 0 through buf.length; elements buf[0]
through buf[count-1] contain buffered input data obtained from the underlying
input stream.
22.10.3 protected int
pos = 0;
This value is always in the range 0 through count. If it is less than count, then
buf[pos] is the next byte to be supplied as input; if it is equal to count, then the
next read or skip operation will require more bytes to be read from the contained
input stream.
22.10.4 protected int
markpos = -1;
This value is always in the range -1 through pos. If there is no marked position in
the input stream, this field is -1. If there is a marked position in the input stream,
then buf[markpos] is the first byte to be supplied as input after a reset operation.
If markpos is not -1, then all bytes from positions buf[markpos] through
buf[pos-1] must remain in the buffer array (though they may be moved to
another place in the buffer array, with suitable adjustments to the values of count,
pos, and markpos); they may not be discarded unless and until the difference
between pos and markpos exceeds marklimit.
22.10.5 protected int
marklimit;
Whenever the difference between pos and markpos exceeds marklimit, then the
mark may be dropped by setting markpos to -1.
22.10.6 public
BufferedInputStream(InputStream in)
This constructor initializes a newly created BufferedInputStream by saving its
argument, the input stream in, for later use. An internal buffer array is created and
stored in buf.
22.10.7 public
BufferedInputStream(InputStream in, int size)
This constructor initializes a newly created BufferedInputStream by saving its
argument, the input stream in, for later use. An internal buffer array of length
size is created and stored in buf.
22.10.8 public int
read() throws IOException
See the general contract of the read method of InputStream (§22.3.1).
Overrides the read method of FilterInputStream (§22.9.3).
22.10.9 public int
read(byte[] b)
throws IOException, NullPointerException
See the general contract of the read method of InputStream (§22.3.2).
Overrides the read method of FilterInputStream (§22.9.4).
22.10.10 public int
read(byte[] b, int off, int len)
throws IOException, NullPointerException, IndexOutOfBoundsException
See the general contract of the read method of InputStream (§22.3.3).
Overrides the read method of FilterInputStream (§22.9.5).
22.10.11 public long
skip(long n) throws IOException
See the general contract of the skip method of InputStream (§22.3.4).
Overrides the skip method of FilterInputStream (§22.9.6).
22.10.12 public int
available() throws IOException
See the general contract of the available method of InputStream (§22.3.5).
Overrides the available method of FilterInputStream (§22.9.7).
22.10.13 public void
mark(int readlimit)
The field marklimit is set equal to the argument and markpos is set equal to pos
Overrides the mark method of FilterInputStream (§22.9.9).
22.10.14 public void
reset() throws IOException
See the general contract of the reset method of InputStream (§22.3.8).
If markpos is -1 (no mark has been set or the mark has been invalidated), an IOException is thrown. Otherwise, pos is set equal to markpos.
Overrides the reset method of FilterInputStream (§22.9.10).
22.10.15 public boolean
markSupported()
This method returns true (a BufferedInputStream always supports mark).
Overrides the markSupported method of FilterInputStream (§22.9.11).
Contents | Prev | Next | Index
Java Language Specification (HTML generated by Suzette Pelouch on February 24, 1998)
Copyright © 1996 Sun Microsystems, Inc.
All rights reserved
Please send any comments or corrections to doug.kramer@sun.com