xmlgraphics-commons 1.3

org.apache.xmlgraphics.util.io
Class SubInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.FilterInputStream
          extended by org.apache.xmlgraphics.util.io.SubInputStream
All Implemented Interfaces:
java.io.Closeable

public class SubInputStream
extends java.io.FilterInputStream

This class is a FilterInputStream descendant that reads from an underlying InputStream up to a defined number of bytes or the end of the underlying stream. Closing this InputStream will not result in the underlying InputStream to be closed, too.

This InputStream can be used to read chunks from a larger file of which the length is known in advance.


Field Summary
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
SubInputStream(java.io.InputStream in, long maxLen)
          Creates a new SubInputStream.
SubInputStream(java.io.InputStream in, long maxLen, boolean closeUnderlying)
          Creates a new SubInputStream.
 
Method Summary
 void close()
          
 int read()
          
 int read(byte[] b, int off, int len)
          
 long skip(long n)
          
 
Methods inherited from class java.io.FilterInputStream
available, mark, markSupported, read, reset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubInputStream

public SubInputStream(java.io.InputStream in,
                      long maxLen,
                      boolean closeUnderlying)
Creates a new SubInputStream.

Parameters:
in - the InputStream to read from
maxLen - the maximum number of bytes to read from the underlying InputStream until the end-of-file is signalled.
closeUnderlying - true if the underlying stream should be closed when the close() method is called.

SubInputStream

public SubInputStream(java.io.InputStream in,
                      long maxLen)
Creates a new SubInputStream. The underlying stream is not closed, when close() is called.

Parameters:
in - the InputStream to read from
maxLen - the maximum number of bytes to read from the underlying InputStream until the end-of-file is signalled.
Method Detail

read

public int read()
         throws java.io.IOException

Overrides:
read in class java.io.FilterInputStream
Throws:
java.io.IOException

read

public int read(byte[] b,
                int off,
                int len)
         throws java.io.IOException

Overrides:
read in class java.io.FilterInputStream
Throws:
java.io.IOException

skip

public long skip(long n)
          throws java.io.IOException

Overrides:
skip in class java.io.FilterInputStream
Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException

Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.FilterInputStream
Throws:
java.io.IOException

xmlgraphics-commons 1.3

Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.