com.brackeen.javagamebook.util
Class LoopingByteInputStream
java.lang.Object
java.io.InputStream
java.io.ByteArrayInputStream
com.brackeen.javagamebook.util.LoopingByteInputStream
- All Implemented Interfaces:
- java.io.Closeable
public class LoopingByteInputStream
- extends java.io.ByteArrayInputStream
The LoopingByteInputStream is a ByteArrayInputStream that
loops indefinitly. The looping stops when the close() method
is called.
Possible ideas to extend this class:
- Add an option to only loop a certain number of times.
|
Field Summary |
private boolean |
closed
|
| Fields inherited from class java.io.ByteArrayInputStream |
buf, count, mark, pos |
|
Constructor Summary |
LoopingByteInputStream(byte[] buffer)
Creates a new LoopingByteInputStream with the specified
byte array. |
|
Method Summary |
void |
close()
Closes the stream. |
int |
read(byte[] buffer,
int offset,
int length)
Reads length bytes from the array. |
| Methods inherited from class java.io.ByteArrayInputStream |
available, mark, markSupported, read, reset, skip |
| Methods inherited from class java.io.InputStream |
read |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
closed
private boolean closed
LoopingByteInputStream
public LoopingByteInputStream(byte[] buffer)
- Creates a new LoopingByteInputStream with the specified
byte array. The array is not copied.
read
public int read(byte[] buffer,
int offset,
int length)
- Reads
length bytes from the array. If the
end of the array is reached, the reading starts over from
the beginning of the array. Returns -1 if the array has
been closed.
- Overrides:
read in class java.io.ByteArrayInputStream
close
public void close()
throws java.io.IOException
- Closes the stream. Future calls to the read() methods
will return 1.
- Specified by:
close in interface java.io.Closeable- Overrides:
close in class java.io.ByteArrayInputStream
- Throws:
java.io.IOException