com.tivoli.twg.libs
Class ByteArrayInputStr

java.lang.Object
  extended byjava.io.InputStream
      extended bycom.tivoli.twg.libs.ByteArrayInputStr
Direct Known Subclasses:
TWGByteArrayInputStream

public class ByteArrayInputStr
extends java.io.InputStream

Modified version of standard ByteArrayInputStream classes, minus performance-killing synchronize modifiers.

Since:
JDK1.0
See Also:
StringBufferInputStream

Field Summary
protected  byte[] buf
          The byte array containing the data.
protected  int count
          The index one greater than the last valid character in the input stream buffer.
protected  int mark
          The currently marked position in the stream.
protected  int pos
          The index of the next character to read from the input stream buffer.
 
Constructor Summary
ByteArrayInputStr(byte[] buf)
          Creates a new byte array input stream that reads data from the specified byte array.
ByteArrayInputStr(byte[] buf, int offset, int length)
          Creates a new byte array input stream that reads data from the specified byte array.
 
Method Summary
 int available()
          Returns the number of bytes that can be read from this input stream without blocking.
 void mark(int markpos)
          Set the current marked position in the stream.
 boolean markSupported()
          Tests if ByteArrayInputStr supports mark/reset.
 int read()
          Reads the next byte of data from this input stream.
 int read(byte[] b, int off, int len)
          Reads up to len bytes of data into an array of bytes from this input stream.
 void reset()
          Resets the buffer to the marked position.
 long skip(long n)
          Skips n bytes of input from this input stream.
 
Methods inherited from class java.io.InputStream
close, read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

buf

protected byte[] buf
The byte array containing the data.

Since:
JDK1.0

pos

protected int pos
The index of the next character to read from the input stream buffer.

Since:
JDK1.0

mark

protected int mark
The currently marked position in the stream. ByteArrayInputStrs are marked at position zero by default when constructed. They may be marked at another position within the buffer by the mark() method. The current buffer position is set to this point by the reset() method.

Since:
JDK1.1

count

protected int count
The index one greater than the last valid character in the input stream buffer.

Since:
JDK1.0
Constructor Detail

ByteArrayInputStr

public ByteArrayInputStr(byte[] buf)
Creates a new byte array input stream that reads data from the specified byte array. The byte array is not copied.

Parameters:
buf - the input buffer.
Since:
JDK1.0

ByteArrayInputStr

public ByteArrayInputStr(byte[] buf,
                         int offset,
                         int length)
Creates a new byte array input stream that reads data from the specified byte array. Up to length characters are to be read from the byte array, starting at the indicated offset.

The byte array is not copied.

Parameters:
buf - the input buffer.
offset - the offset in the buffer of the first byte to read.
length - the maximum number of bytes to read from the buffer.
Since:
JDK1.0
Method Detail

read

public int read()
Reads the next byte of data from this 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.

The read method of ByteArrayInputStr cannot block.

Returns:
the next byte of data, or -1 if the end of the stream has been reached.
Since:
JDK1.0

read

public int read(byte[] b,
                int off,
                int len)
Reads up to len bytes of data into an array of bytes from this input stream. This read method cannot block.

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 if there is no more data because the end of the stream has been reached.
Since:
JDK1.0

skip

public long skip(long n)
Skips n bytes of input from this input stream. Fewer bytes might be skipped if the end of the input stream is reached.

Parameters:
n - the number of bytes to be skipped.
Returns:
the actual number of bytes skipped.
Since:
JDK1.0

available

public int available()
Returns the number of bytes that can be read from this input stream without blocking.

The available method of ByteArrayInputStr returns the value of count - pos, which is the number of bytes remaining to be read from the input buffer.

Returns:
the number of bytes that can be read from the input stream without blocking.
Since:
JDK1.0

markSupported

public boolean markSupported()
Tests if ByteArrayInputStr supports mark/reset.

Since:
JDK1.1

mark

public void mark(int markpos)
Set the current marked position in the stream. ByteArrayInputStrs are marked at position zero by default when constructed. They may be marked at another position within the buffer by this method.

Since:
JDK1.1

reset

public void reset()
Resets the buffer to the marked position. The marked position is the beginning unless another position was marked.

Since:
JDK1.0