Package fr.gouv.vitam.common.stream
Class ExactSizeInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- fr.gouv.vitam.common.stream.ExactSizeInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class ExactSizeInputStream extends java.io.FilterInputStreamInput stream that checks input stream size (avoids premature EOF or invalid file size) This input stream guaranties that an exception occur BEFORE the last data byte is returned. For empty streams (size=0), EOF check is done at constructor initialization time.
-
-
Constructor Summary
Constructors Constructor Description ExactSizeInputStream(java.io.InputStream in, long size)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longgetSize()voidmark(int readlimit)intread()intread(byte[] b)intread(byte[] b, int off, int len)voidreset()longskip(long n)
-
-
-
Method Detail
-
read
public int read() throws java.io.IOException- Overrides:
readin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b) throws java.io.IOException- Overrides:
readin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException- Overrides:
readin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
skip
public long skip(long n) throws java.io.IOException- Overrides:
skipin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
mark
public void mark(int readlimit)
- Overrides:
markin classjava.io.FilterInputStream
-
reset
public void reset() throws java.io.IOException- Overrides:
resetin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
getSize
public long getSize()
-
-