Package org.apache.commons.io.input
Class Tailer.RandomAccessFileBridge
- java.lang.Object
-
- org.apache.commons.io.input.Tailer.RandomAccessFileBridge
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,Tailer.RandomAccessResourceBridge
- Enclosing class:
- Tailer
private static final class Tailer.RandomAccessFileBridge extends java.lang.Object implements Tailer.RandomAccessResourceBridge
Bridges random access to aRandomAccessFile
.
-
-
Field Summary
Fields Modifier and Type Field Description private java.io.RandomAccessFile
randomAccessFile
-
Constructor Summary
Constructors Modifier Constructor Description private
RandomAccessFileBridge(java.io.File file, java.lang.String mode)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
long
getPointer()
Gets the current offset in this tailable.int
read(byte[] b)
Reads up tob.length
bytes of data from this tailable into an array of bytes.void
seek(long position)
Sets the file-pointer offset, measured from the beginning of this tailable, at which the next read or write occurs.
-
-
-
Method Detail
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
getPointer
public long getPointer() throws java.io.IOException
Description copied from interface:Tailer.RandomAccessResourceBridge
Gets the current offset in this tailable.- Specified by:
getPointer
in interfaceTailer.RandomAccessResourceBridge
- Returns:
- the offset from the beginning of the tailable, in bytes, at which the next read or write occurs.
- Throws:
java.io.IOException
- if an I/O error occurs.
-
read
public int read(byte[] b) throws java.io.IOException
Description copied from interface:Tailer.RandomAccessResourceBridge
Reads up tob.length
bytes of data from this tailable into an array of bytes. This method blocks until at least one byte of input is available.- Specified by:
read
in interfaceTailer.RandomAccessResourceBridge
- Parameters:
b
- the buffer into which the data is read.- Returns:
- the total number of bytes read into the buffer, or
-1
if there is no more data because the end of this tailable has been reached. - Throws:
java.io.IOException
- If the first byte cannot be read for any reason other than end of tailable, or if the random access tailable has been closed, or if some other I/O error occurs.
-
seek
public void seek(long position) throws java.io.IOException
Description copied from interface:Tailer.RandomAccessResourceBridge
Sets the file-pointer offset, measured from the beginning of this tailable, at which the next read or write occurs. The offset may be set beyond the end of the tailable. Setting the offset beyond the end of the tailable does not change the tailable length. The tailable length will change only by writing after the offset has been set beyond the end of the tailable.- Specified by:
seek
in interfaceTailer.RandomAccessResourceBridge
- Parameters:
position
- the offset position, measured in bytes from the beginning of the tailable, at which to set the tailable pointer.- Throws:
java.io.IOException
- ifpos
is less than0
or if an I/O error occurs.
-
-