net.sourceforge.groboutils.util.io.v1
Class ReadByteStream

java.lang.Object
  extended bynet.sourceforge.groboutils.util.io.v1.ReadByteStream

public class ReadByteStream
extends java.lang.Object

Reads a byte array from a stream until the stream is finished. You can specify a maximum size to read, and the block read size.

Since:
April 13, 2001
Version:
$Date: 2003/05/19 20:31:47 $
Author:
Matt Albrecht groboclown@users.sourceforge.net

Field Summary
static int DEFAULT_BLOCK_READ_SIZE
          Default block read size.
static int READ_TO_END_OF_STREAM
          Read in an unlimited number of bytes.
 
Constructor Summary
ReadByteStream(java.io.InputStream is)
          Default constructor
ReadByteStream(java.io.InputStream is, int maxReadSize, int blockReadSize)
           
 
Method Summary
 byte[] readByteStream()
          Read in the byte stream, using the current settings.
static byte[] readByteStream(java.io.InputStream is)
          Read in the byte stream.
static byte[] readByteStream(java.io.InputStream is, int maxReadSize, int blockReadSize)
          Read in the byte stream.
 void setInputStream(java.io.InputStream is)
          Sets the internal input stream.
 void setSizes(int maxReadSize, int blockReadSize)
          Sets the internal sizes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

READ_TO_END_OF_STREAM

public static final int READ_TO_END_OF_STREAM
Read in an unlimited number of bytes. This can be very dangerous.

See Also:
Constant Field Values

DEFAULT_BLOCK_READ_SIZE

public static final int DEFAULT_BLOCK_READ_SIZE
Default block read size.

See Also:
Constant Field Values
Constructor Detail

ReadByteStream

public ReadByteStream(java.io.InputStream is)
Default constructor


ReadByteStream

public ReadByteStream(java.io.InputStream is,
                      int maxReadSize,
                      int blockReadSize)
Method Detail

setInputStream

public void setInputStream(java.io.InputStream is)
Sets the internal input stream.


setSizes

public void setSizes(int maxReadSize,
                     int blockReadSize)
Sets the internal sizes.


readByteStream

public byte[] readByteStream()
                      throws java.io.IOException
Read in the byte stream, using the current settings.

Throws:
java.io.IOException

readByteStream

public static byte[] readByteStream(java.io.InputStream is)
                             throws java.io.IOException
Read in the byte stream. Does not close the stream after it has finished reading. Uses the default sizes.

Throws:
java.io.IOException
See Also:
readByteStream( InputStream, int, int )

readByteStream

public static byte[] readByteStream(java.io.InputStream is,
                                    int maxReadSize,
                                    int blockReadSize)
                             throws java.io.IOException
Read in the byte stream. Does not close the stream after it has finished reading.

Note that there is no variable checking, for performance reasons. The user needs to verify that:

Parameters:
is - the input stream, which cannot be null.
maxReadSize - the maximum number of bytes to read, which must be positive, and must be modulo 0 of blockReadSize. This is an "estimation", and may actually read in more than this many bytes if it is not modulo 0 of blockReadSize, but will always return all the bytes read.
blockReadSize - the number of bytes to read in per read command, which cannot be more than maxReadSize, and cannot be less than or equal to zero.
Throws:
java.io.IOException


Copyright © 2001-2003 by The GroboUtils Project