org.apache.abdera.util.io
Class RewindableInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.io.PushbackInputStream
org.apache.abdera.util.io.DynamicPushbackInputStream
org.apache.abdera.util.io.RewindableInputStream
- All Implemented Interfaces:
- java.io.Closeable
- Direct Known Subclasses:
- PeekAheadInputStream
public class RewindableInputStream
- extends DynamicPushbackInputStream
RewindableInputStream is a specialization of the PushbackInputStream
that maintains an internal buffer of read bytes that a user can
rewind (unread) back into the stream without having to do their
own buffer management. The rewind buffer grows dynamically
Fields inherited from class java.io.PushbackInputStream |
buf, pos |
Fields inherited from class java.io.FilterInputStream |
in |
Methods inherited from class java.io.PushbackInputStream |
available, close, mark, markSupported, reset, unread |
Methods inherited from class java.io.FilterInputStream |
read |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RewindableInputStream
public RewindableInputStream(java.io.InputStream in)
RewindableInputStream
public RewindableInputStream(java.io.InputStream in,
int capacity)
position
public int position()
rewind
public void rewind()
throws java.io.IOException
- Throws:
java.io.IOException
rewind
public void rewind(int offset,
int len)
throws java.io.IOException
- Throws:
java.io.IOException
rewind
public void rewind(int len)
throws java.io.IOException
- Throws:
java.io.IOException
read
public int read()
throws java.io.IOException
- Overrides:
read
in class DynamicPushbackInputStream
- Throws:
java.io.IOException
read
public int read(byte[] b,
int off,
int len)
throws java.io.IOException
- Overrides:
read
in class DynamicPushbackInputStream
- Throws:
java.io.IOException
skip
public long skip(long n)
throws java.io.IOException
- Overrides:
skip
in class DynamicPushbackInputStream
- Throws:
java.io.IOException