Package org.apache.jackrabbit.core.data
Class LazyFileInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- org.apache.commons.io.input.ProxyInputStream
-
- org.apache.commons.io.input.AutoCloseInputStream
-
- org.apache.jackrabbit.core.data.LazyFileInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class LazyFileInputStream extends AutoCloseInputStream
This input stream delays opening the file until the first byte is read, and closes and discards the underlying stream as soon as the end of input has been reached or when the stream is explicitly closed.
-
-
Constructor Summary
Constructors Constructor Description LazyFileInputStream(java.io.File file)Creates a newLazyFileInputStreamfor the given file.LazyFileInputStream(java.io.FileDescriptor fd)Creates a newLazyFileInputStreamfor the given file descriptor.LazyFileInputStream(java.lang.String name)Creates a newLazyFileInputStreamfor the given file.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()voidclose()voidmark(int readlimit)booleanmarkSupported()intread()intread(byte[] b)intread(byte[] b, int off, int len)voidreset()longskip(long n)
-
-
-
Constructor Detail
-
LazyFileInputStream
public LazyFileInputStream(java.io.File file) throws java.io.FileNotFoundExceptionCreates a newLazyFileInputStreamfor the given file. If the file is unreadable, a FileNotFoundException is thrown. The file is not opened until the first byte is read from the stream.- Parameters:
file- the file- Throws:
java.io.FileNotFoundException
-
LazyFileInputStream
public LazyFileInputStream(java.io.FileDescriptor fd)
Creates a newLazyFileInputStreamfor the given file descriptor. The file is not opened until the first byte is read from the stream.- Parameters:
fd-
-
LazyFileInputStream
public LazyFileInputStream(java.lang.String name) throws java.io.FileNotFoundExceptionCreates a newLazyFileInputStreamfor the given file. If the file is unreadable, a FileNotFoundException is thrown.- Parameters:
name-- Throws:
java.io.FileNotFoundException
-
-
Method Detail
-
read
public int read() throws java.io.IOException- Overrides:
readin classProxyInputStream- Throws:
java.io.IOException
-
available
public int available() throws java.io.IOException- Overrides:
availablein classProxyInputStream- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classAutoCloseInputStream- Throws:
java.io.IOException
-
reset
public void reset() throws java.io.IOException- Overrides:
resetin classProxyInputStream- Throws:
java.io.IOException
-
markSupported
public boolean markSupported()
- Overrides:
markSupportedin classProxyInputStream
-
mark
public void mark(int readlimit)
- Overrides:
markin classProxyInputStream
-
skip
public long skip(long n) throws java.io.IOException- Overrides:
skipin classProxyInputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b) throws java.io.IOException- Overrides:
readin classProxyInputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException- Overrides:
readin classProxyInputStream- Throws:
java.io.IOException
-
-