Package com.twelvemonkeys.io
Class FileSeekableStream
- java.lang.Object
-
- java.io.InputStream
-
- com.twelvemonkeys.io.SeekableInputStream
-
- com.twelvemonkeys.io.FileSeekableStream
-
- All Implemented Interfaces:
Seekable,java.io.Closeable,java.lang.AutoCloseable
public final class FileSeekableStream extends SeekableInputStream
ASeekableInputStreamimplementation that uses random access directly to aFile.- Version:
- $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-core/src/main/java/com/twelvemonkeys/io/FileSeekableStream.java#4 $
- See Also:
FileCacheSeekableStream,MemoryCacheSeekableStream,RandomAccessFile
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.io.RandomAccessFilemRandomAccess-
Fields inherited from class com.twelvemonkeys.io.SeekableInputStream
closed, flushedPosition, markedPositions, position
-
-
Constructor Summary
Constructors Constructor Description FileSeekableStream(java.io.File pInput)Creates aFileSeekableStreamthat reads from the givenFile.FileSeekableStream(java.io.RandomAccessFile pInput)Creates aFileSeekableStreamthat reads from the given file.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()voidcloseImpl()protected voidflushBeforeImpl(long pPosition)Does nothing, as we don't really do any caching here.booleanisCached()Returns true if thisSeekablestream caches data itself in order to allow seeking backwards.booleanisCachedFile()Returns true if thisSeekablestream caches data itself in order to allow seeking backwards, and the cache is kept in a temporary file.booleanisCachedMemory()Returns true if thisSeekablestream caches data itself in order to allow seeking backwards, and the cache is kept in main memory.intread()intread(byte[] pBytes, int pOffset, int pLength)protected voidseekImpl(long pPosition)-
Methods inherited from class com.twelvemonkeys.io.SeekableInputStream
checkOpen, close, finalize, flush, flushBefore, getFlushedPosition, getStreamPosition, mark, mark, markSupported, read, reset, seek, skip
-
-
-
-
Constructor Detail
-
FileSeekableStream
public FileSeekableStream(java.io.File pInput) throws java.io.FileNotFoundExceptionCreates aFileSeekableStreamthat reads from the givenFile.- Parameters:
pInput- file to read from- Throws:
java.io.FileNotFoundException- ifpInputdoes not exist
-
FileSeekableStream
public FileSeekableStream(java.io.RandomAccessFile pInput)
Creates aFileSeekableStreamthat reads from the given file. TheRandomAccessFileneeds only to be open in read ("r") mode.- Parameters:
pInput- file to read from
-
-
Method Detail
-
isCached
public boolean isCached()
Description copied from interface:SeekableReturns true if thisSeekablestream caches data itself in order to allow seeking backwards. Applications may consult this in order to decide how frequently, or whether, to flush in order to conserve cache resources.- Returns:
trueif thisSeekablecaches data.- See Also:
Seekable.isCachedMemory(),Seekable.isCachedFile()
-
isCachedFile
public boolean isCachedFile()
Description copied from interface:SeekableReturns true if thisSeekablestream caches data itself in order to allow seeking backwards, and the cache is kept in a temporary file. Applications may consult this in order to decide how frequently, or whether, to flush in order to conserve cache resources.- Returns:
trueif thisSeekablecaches data in a temporary file.- See Also:
Seekable.isCached(),Seekable.isCachedMemory()
-
isCachedMemory
public boolean isCachedMemory()
Description copied from interface:SeekableReturns true if thisSeekablestream caches data itself in order to allow seeking backwards, and the cache is kept in main memory. Applications may consult this in order to decide how frequently, or whether, to flush in order to conserve cache resources.- Returns:
trueif thisSeekablecaches data in main memory.- See Also:
Seekable.isCached(),Seekable.isCachedFile()
-
available
public int available() throws java.io.IOException- Overrides:
availablein classjava.io.InputStream- Throws:
java.io.IOException
-
closeImpl
public void closeImpl() throws java.io.IOException- Specified by:
closeImplin classSeekableInputStream- Throws:
java.io.IOException
-
read
public int read() throws java.io.IOException- Specified by:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read(byte[] pBytes, int pOffset, int pLength) throws java.io.IOException- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
flushBeforeImpl
protected void flushBeforeImpl(long pPosition)
Does nothing, as we don't really do any caching here.- Specified by:
flushBeforeImplin classSeekableInputStream- Parameters:
pPosition- the position to flush to- See Also:
SeekableInputStream.flushBefore(long)
-
seekImpl
protected void seekImpl(long pPosition) throws java.io.IOException- Specified by:
seekImplin classSeekableInputStream- Throws:
java.io.IOException
-
-