Package eu.woolplatform.utils.io
Class CountingInputStream
- java.lang.Object
-
- java.io.InputStream
-
- eu.woolplatform.utils.io.CountingInputStream
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class CountingInputStream extends InputStream
This input stream keeps track of the current position in an underlying input stream. It assumes that the current position in the underlying stream at construction is 0. The counting input stream does not support mark and reset.
-
-
Constructor Summary
Constructors Constructor Description CountingInputStream(InputStream input)Constructs a new counting input stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()voidclose()longgetPosition()Returns the current position.voidmark(int readlimit)booleanmarkSupported()intread()intread(byte[] b)intread(byte[] b, int off, int len)voidreset()longskip(long n)-
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
Constructor Detail
-
CountingInputStream
public CountingInputStream(InputStream input)
Constructs a new counting input stream.- Parameters:
input- the underlying stream at position 0
-
-
Method Detail
-
getPosition
public long getPosition()
Returns the current position.- Returns:
- the current position
-
read
public int read() throws IOException- Specified by:
readin classInputStream- Throws:
IOException
-
available
public int available() throws IOException- Overrides:
availablein classInputStream- Throws:
IOException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classInputStream- Throws:
IOException
-
mark
public void mark(int readlimit)
- Overrides:
markin classInputStream
-
markSupported
public boolean markSupported()
- Overrides:
markSupportedin classInputStream
-
read
public int read(byte[] b, int off, int len) throws IOException- Overrides:
readin classInputStream- Throws:
IOException
-
read
public int read(byte[] b) throws IOException- Overrides:
readin classInputStream- Throws:
IOException
-
reset
public void reset() throws IOException- Overrides:
resetin classInputStream- Throws:
IOException
-
skip
public long skip(long n) throws IOException- Overrides:
skipin classInputStream- Throws:
IOException
-
-