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.FilterInputStream
Input 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 long
getSize()
void
mark(int readlimit)
int
read()
int
read(byte[] b)
int
read(byte[] b, int off, int len)
void
reset()
long
skip(long n)
-
-
-
Method Detail
-
read
public int read() throws java.io.IOException
- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] b) throws java.io.IOException
- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException
- Overrides:
read
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
skip
public long skip(long n) throws java.io.IOException
- Overrides:
skip
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
mark
public void mark(int readlimit)
- Overrides:
mark
in classjava.io.FilterInputStream
-
reset
public void reset() throws java.io.IOException
- Overrides:
reset
in classjava.io.FilterInputStream
- Throws:
java.io.IOException
-
getSize
public long getSize()
-
-