org.freehep.util.io
Class ByteCountInputStream
java.lang.Object
  
java.io.InputStream
      
org.freehep.util.io.DecompressableInputStream
          
org.freehep.util.io.BitInputStream
              
org.freehep.util.io.ByteOrderInputStream
                  
org.freehep.util.io.ByteCountInputStream
- All Implemented Interfaces: 
 - Closeable, DataInput
 
- Direct Known Subclasses: 
 - TaggedInputStream
 
public class ByteCountInputStream
- extends ByteOrderInputStream
 
The input buffer can be limited to less than the number of bytes of the
 underlying buffer. Only one real input stream exists, which is where the
 reads take place. A buffer is limited by some length. If more is read, -1 is
 returned. Multiple limits can be set by calling pushBuffer. If bytes are left
 in the buffer when popBuffer is called, they are returned in an array.
 Otherwise null is returned.
- Version:
 
  - $Id: ByteCountInputStream.java 8584 2006-08-10 23:06:37Z duns $
 
- Author:
 
  - Mark Donszelmann, Charles Loomis
 
 
 
 
 
| 
Method Summary | 
 long | 
getLength()
 
            | 
 byte[] | 
popBuffer()
 
          Pops the buffer from the stack and returns leftover bytes in a byte array | 
 void | 
pushBuffer(int len)
 
          Push the current buffer to the stack | 
 int | 
read()
 
            | 
 
| Methods inherited from class org.freehep.util.io.ByteOrderInputStream | 
readAsciiZString, readBoolean, readByte, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readInt, readLine, readLong, readShort, readShort, readString, readUnsignedByte, readUnsignedByte, readUnsignedInt, readUnsignedInt, readUnsignedShort, readUnsignedShort, readUTF, skipBytes | 
 
 
 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
ByteCountInputStream
public ByteCountInputStream(InputStream in,
                            boolean littleEndian,
                            int stackDepth)
- Create a Byte Count input stream from given stream
- Parameters:
 in - stream to read fromlittleEndian - true if stream should be little endianstackDepth - maximum number of buffers used while reading
 
read
public int read()
         throws IOException
- Overrides:
 read in class DecompressableInputStream
 
- Throws:
 IOException
 
pushBuffer
public void pushBuffer(int len)
- Push the current buffer to the stack
- Parameters:
 len - number of bytes that can be read from the current buffer
 
 
popBuffer
public byte[] popBuffer()
                 throws IOException
- Pops the buffer from the stack and returns leftover bytes in a byte array
- Returns:
 - null if buffer was completely read. Otherwise rest of buffer is
         read and returned.
 - Throws:
 IOException - if read fails
 
 
getLength
public long getLength()
- Returns:
 - number of bytes that can be read from the current buffer
 
 
Copyright © 2000-2007 FreeHEP. All Rights Reserved.