Packages  This Package  Prev  Next  Index  
	§2.1 Class BufferedInputStream
public  class  java.io.BufferedInputStream
    extends  java.io.FilterInputStream  (I-§2.11)
{
       // Fields
    protected byte buf[];	§2.1.1
    protected int count;	§2.1.2
    protected int marklimit;	§2.1.3
    protected int markpos;	§2.1.4
    protected int pos;	§2.1.5
        // Constructors
    public BufferedInputStream(InputStream  in);	§2.1.6
    public BufferedInputStream(InputStream  in, int size);	§2.1.7
    public int available();	§2.1.8
        // Methods
    public void mark(int  readlimit);	§2.1.9
    public boolean markSupported();	§2.1.10
    public int read();	§2.1.11
    public int read(byte  b[], int  off, int  len);	§2.1.12
    public void reset();	§2.1.13
    public long skip(long  n);	§2.1.14
}
The class implements a buffered input stream. By setting up a such an input stream, an 
application can read bytes from a stream without necessarily causing a call to the underlying system for each byte read. The data is read by blocks into a buffer; subsequent reads 
can access the data directly from the buffer.
buf
protected byte buf[]
- The buffer where data is stored.
 
count
protected int count
- The index one greater than the index of the last valid byte in the buffer.
 
marklimit
protected int marklimit
- The maximum read ahead allowed after a call to the mark method 
(I-§2.1.9) before subsequent calls to the reset method (I-§2.1.13) fail.
 
markpos
protected int markpos
- The value of the pos field (I-§2.1.5) at the time the last mark method 
(I-§2.1.9) was called. The value of this field is -1 if there is no current 
mark.
 
pos
protected int pos
- The current position in the buffer. This is the index of the next character to 
be read from the buf (I-§2.1.1) array.
 
BufferedInputStream
public BufferedInputStream(InputStream  in)
- Creates a new buffered input stream to read data from the specified input 
stream with a default 512-byte buffer size.
- Parameters:
 in
- the underlying input stream
 
BufferedInputStream
public BufferedInputStream(InputStream  in, int  size)
- Creates a new buffered input stream to read data from the specified input 
stream with the specified buffer size.
- Parameters:
 in
- the underlying input stream
size
- the buffer size
 
available
public int available()
throws IOException
- Determines the number of bytes that can be read from this input stream 
without blocking.
- The available method of BufferedInputStream returns the sum of the the number of bytes remaining to be read in the buffer (
) and the result 
of calling the available method of the underlying input stream (I-§2.11.1).
- Returns:
 - the number of bytes that can be read from this input stream without 
blocking.
 - Throws
 - IOException  (I-§2.29)
- If an I/O error occurs.
  - Overrides:
 - available in class FilterInputStream  (I-§2.11.3).
 
  
mark
public void mark(int  readlimit)
- Marks the current position in this input stream. A subsequent call to the 
reset method (I-§2.1.13) repositions the stream at the last marked position 
so that subsequent reads re-read the same bytes. 
- The readlimit arguments tells the input stream to allow that many bytes to 
be read before the mark position gets invalidated.
- Parameters:
 readlimit
- the maximum limit of bytes that can be read before the mark 
position becomes invalid.
- Overrides:
 - mark in class FilterInputStream  (I-§2.11.5).
 
  
markSupported
public boolean markSupported()
- Determines if this input stream supports the mark (I-§2.13.4) and reset 
(I-§2.13.9) methods. The markSupported method of Buffered-Input-Stream 
returns true.
- Returns:
 - a boolean indicating if this stream type supports the mark and reset 
methods.
 - Overrides:
 - markSupported in class FilterInputStream  (I-§2.11.6).
 
 
read
public int read()
throws IOException
- Reads the next byte of data from this buffered input stream. The value byte 
is returned as an int in the range 0 to 255. If no byte is available because the 
end of the stream has been reached, the value -1 is returned. This method 
blocks until either input data is available, the end of the stream is detected, 
or an exception is thrown.
- The read method of BufferedInputStream returns the next byte of data from its 
buffer if the buffer isn't empty. Otherwise, it refills the buffer from the 
underlying input stream (I-§2.11.1) and returns the next character, if the 
underlying stream hasn't returned an end-of-stream indicator.
- Returns:
 - the next byte of data, or -1 if the end of the stream is reached.
 - Throws
 - IOException  (I-§2.29)
- If an I/O error occurs.
  - Overrides:
 - read in class FilterInputStream  (I-§2.11.7).
 
  
read
public int read(byte  b[], int  off, int  len)
throws IOException
- Reads up to len bytes of data from this buffered input stream into an array 
of bytes. This method blocks until some input is available.
- The read method of BufferedInputStream copies bytes from its buffer into the 
array argument if the buffer isn't empty. Otherwise, it refills the buffer 
from the underlying input stream (I-§2.11.1) and unless the underlying 
stream returns an end-of-stream indicator, it fills the array argument with 
characters from the newly filled buffer.
- Parameters:
 b
- the buffer into which the data is read
off
- the start offset of the data
len
- the maximum number of bytes read
- Returns:
 - the total number of bytes read into the buffer, or -1 is there is no more 
data because the end of the stream has been reached.
 - Throws
 - IOException  (I-§2.29)
- If an I/O error occurs.
  - Overrides:
 - read in class FilterInputStream  (I-§2.11.9).
 
  
reset
public void reset()
throws IOException
- Repositions this stream to the position at the time the mark method 
(I-§2.1.9) was last called on this input stream
- Throws
 - IOException  (I-§2.29)
- If this stream has not been marked or if the mark has been invalidated.
  - Overrides:
 - reset in class FilterInputStream  (I-§2.11.10).
 
 
skip
public long skip(long  n)
throws IOException
- Skips over and discards n bytes of data from the input stream. The skip 
method may, for a variety of reasons, end up skipping over some smaller 
number of bytes, possibly zero. The actual number of bytes skipped is 
returned.
- The skip method of BufferedInputStream compares the number of bytes it has 
available in its buffer, 
, where 
, with n. If 
, then 
the pos field is incremented by n. Otherwise, the pos field is incremented to 
have the value count, and the remaining bytes (if any) are skipped by calling the underlying input stream's (I-§2.11.1) skip method with the argument 
.
- Parameters:
 n
- the number of bytes to be skipped
- Returns:
 - the actual number of bytes skipped.
 - Throws
 - IOException  (I-§2.29)
- If an I/O error occurs.
  - Overrides:
 - skip in class FilterInputStream  (I-§2.11.11).
 
  
Packages  This Package  Prev  Next  Index
Java API Document (HTML generated by dkramer on April 22, 1996)
Copyright © 1996 Sun Microsystems, Inc.
All rights reserved
Please send any comments or corrections to doug.kramer@sun.com