Package com.twelvemonkeys.io
Class FileSeekableStream
java.lang.Object
java.io.InputStream
com.twelvemonkeys.io.SeekableInputStream
com.twelvemonkeys.io.FileSeekableStream
- All Implemented Interfaces:
Seekable
,Closeable
,AutoCloseable
A
SeekableInputStream
implementation that uses random access directly to a File
.- Version:
- $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-core/src/main/java/com/twelvemonkeys/io/FileSeekableStream.java#4 $
- See Also:
-
Field Summary
FieldsFields inherited from class com.twelvemonkeys.io.SeekableInputStream
closed, flushedPosition, markedPositions, position
-
Constructor Summary
ConstructorsConstructorDescriptionFileSeekableStream
(File pInput) Creates aFileSeekableStream
that reads from the givenFile
.FileSeekableStream
(RandomAccessFile pInput) Creates aFileSeekableStream
that reads from the given file. -
Method Summary
Modifier and TypeMethodDescriptionint
void
protected void
flushBeforeImpl
(long pPosition) Does nothing, as we don't really do any caching here.boolean
isCached()
Returns true if thisSeekable
stream caches data itself in order to allow seeking backwards.boolean
Returns true if thisSeekable
stream caches data itself in order to allow seeking backwards, and the cache is kept in a temporary file.boolean
Returns true if thisSeekable
stream caches data itself in order to allow seeking backwards, and the cache is kept in main memory.int
read()
int
read
(byte[] pBytes, int pOffset, int pLength) protected void
seekImpl
(long pPosition) Methods inherited from class com.twelvemonkeys.io.SeekableInputStream
checkOpen, close, finalize, flush, flushBefore, getFlushedPosition, getStreamPosition, mark, mark, markSupported, read, reset, seek, skip
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Field Details
-
mRandomAccess
-
-
Constructor Details
-
FileSeekableStream
Creates aFileSeekableStream
that reads from the givenFile
.- Parameters:
pInput
- file to read from- Throws:
FileNotFoundException
- ifpInput
does not exist
-
FileSeekableStream
Creates aFileSeekableStream
that reads from the given file. TheRandomAccessFile
needs only to be open in read ("r"
) mode.- Parameters:
pInput
- file to read from
-
-
Method Details
-
isCached
public boolean isCached()Description copied from interface:Seekable
Returns true if thisSeekable
stream 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:
true
if thisSeekable
caches data.- See Also:
-
isCachedFile
public boolean isCachedFile()Description copied from interface:Seekable
Returns true if thisSeekable
stream 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:
true
if thisSeekable
caches data in a temporary file.- See Also:
-
isCachedMemory
public boolean isCachedMemory()Description copied from interface:Seekable
Returns true if thisSeekable
stream 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:
true
if thisSeekable
caches data in main memory.- See Also:
-
available
- Overrides:
available
in classInputStream
- Throws:
IOException
-
closeImpl
- Specified by:
closeImpl
in classSeekableInputStream
- Throws:
IOException
-
read
- Specified by:
read
in classInputStream
- Throws:
IOException
-
read
- Overrides:
read
in classInputStream
- Throws:
IOException
-
flushBeforeImpl
protected void flushBeforeImpl(long pPosition) Does nothing, as we don't really do any caching here.- Specified by:
flushBeforeImpl
in classSeekableInputStream
- Parameters:
pPosition
- the position to flush to- See Also:
-
seekImpl
- Specified by:
seekImpl
in classSeekableInputStream
- Throws:
IOException
-