Class LocalTsFileInput
- java.lang.Object
-
- org.apache.iotdb.tsfile.read.reader.LocalTsFileInput
-
- All Implemented Interfaces:
TsFileInput
public class LocalTsFileInput extends java.lang.Object implements TsFileInput
-
-
Constructor Summary
Constructors Constructor Description LocalTsFileInput(java.nio.file.Path file)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes this channel.java.lang.StringgetFilePath()longposition()Returns this input's current position.TsFileInputposition(long newPosition)Sets this input's position.intread(java.nio.ByteBuffer dst)Reads a sequence of bytes from this TsFileInput into the given buffer.intread(java.nio.ByteBuffer dst, long position)Reads a sequence of bytes from this TsFileInput into the given buffer, starting at the given position.longsize()Returns the current size of this input.java.io.InputStreamwrapAsInputStream()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.iotdb.tsfile.read.reader.TsFileInput
readVarIntString
-
-
-
-
Method Detail
-
size
public long size() throws java.io.IOExceptionDescription copied from interface:TsFileInputReturns the current size of this input.- Specified by:
sizein interfaceTsFileInput- Returns:
- The current size of this input, measured in bytes
- Throws:
java.nio.channels.ClosedChannelException- If this channel is closedjava.io.IOException- If some other I/O error occurs
-
position
public long position() throws java.io.IOExceptionDescription copied from interface:TsFileInputReturns this input's current position.- Specified by:
positionin interfaceTsFileInput- Returns:
- This input's current position, a non-negative integer counting the number of bytes from the beginning of the input to the current position
- Throws:
java.nio.channels.ClosedChannelException- If this input is closedjava.io.IOException- If some other I/O error occurs
-
position
public TsFileInput position(long newPosition) throws java.io.IOException
Description copied from interface:TsFileInputSets this input's position.Setting the position to a value that is greater than the input's current size is legal but does not change the size of the TsFileInput. A later attempt to read bytes at such a position will immediately return an end-of-file indication.
- Specified by:
positionin interfaceTsFileInput- Parameters:
newPosition- The new position, a non-negative integer counting the number of bytes from the beginning of the TsFileInput- Returns:
- This TsFileInput
- Throws:
java.nio.channels.ClosedChannelException- If this TsFileInput is closedjava.io.IOException- If some other I/O error occurs
-
read
public int read(java.nio.ByteBuffer dst) throws java.io.IOExceptionDescription copied from interface:TsFileInputReads a sequence of bytes from this TsFileInput into the given buffer.Bytes are read starting at this TsFileInput's current position, and then the position is updated with the number of bytes actually read. Otherwise this method behaves exactly as specified in the
ReadableByteChannelinterface.- Specified by:
readin interfaceTsFileInput- Throws:
java.io.IOException
-
read
public int read(java.nio.ByteBuffer dst, long position) throws java.io.IOExceptionDescription copied from interface:TsFileInputReads a sequence of bytes from this TsFileInput into the given buffer, starting at the given position.This method works in the same manner as the
TsFileInput.read(ByteBuffer)method, except that bytes are read starting at the given position rather than at the TsFileInput's current position. This method does not modify this TsFileInput's position. If the given position is greater than the TsFileInput's current size then no bytes are read.- Specified by:
readin interfaceTsFileInput- Parameters:
dst- The buffer into which bytes are to be transferredposition- The position at which the transfer is to begin; must be non-negative- Returns:
- The number of bytes read, possibly zero, or -1 if the given position is greater than or equal to the file's current size
- Throws:
java.nio.channels.ClosedChannelException- If this TsFileInput is closedjava.nio.channels.AsynchronousCloseException- If another thread closes this TsFileInput while the read operation is in progressjava.nio.channels.ClosedByInterruptException- If another thread interrupts the current thread while the read operation is in progress, thereby closing the channel and setting the current thread's interrupt statusjava.io.IOException- If some other I/O error occurs
-
wrapAsInputStream
public java.io.InputStream wrapAsInputStream()
- Specified by:
wrapAsInputStreamin interfaceTsFileInput
-
close
public void close() throws java.io.IOExceptionDescription copied from interface:TsFileInputCloses this channel.If the channel has already been closed then this method returns immediately.
- Specified by:
closein interfaceTsFileInput- Throws:
java.io.IOException- If an I/O error occurs
-
getFilePath
public java.lang.String getFilePath()
- Specified by:
getFilePathin interfaceTsFileInput
-
-