java.nio.channels
public abstract class FileChannel extends AbstractInterruptibleChannel implements ByteChannel, GatheringByteChannel, ScatteringByteChannel
Since: 1.4
Nested Class Summary | |
---|---|
static class | FileChannel.MapMode |
Constructor Summary | |
---|---|
protected | FileChannel()
Initializes the channel. |
Method Summary | |
---|---|
abstract void | force(boolean metaData)
msync with the disk
|
protected abstract void | implCloseChannel()
Closes the channel.
|
FileLock | lock()
Creates a file lock for the whole associated file.
|
abstract FileLock | lock(long position, long size, boolean shared)
Creates a file lock for a region of the associated file.
|
abstract MappedByteBuffer | map(FileChannel.MapMode mode, long position, long size)
Maps the file into the memory.
|
abstract long | position()
Returns the current position on the file.
|
abstract FileChannel | position(long newPosition)
Sets the position of the channel on the assoziated file.
|
abstract long | read(ByteBuffer[] dsts, int offset, int length)
Reads data from the channel.
|
long | read(ByteBuffer[] dsts)
Reads data from the channel.
|
abstract int | read(ByteBuffer dst)
Reads data from the channel.
|
abstract int | read(ByteBuffer dst, long position)
Reads data from the channel.
|
abstract long | size()
Return the size of the file thus far
|
abstract long | transferFrom(ReadableByteChannel src, long position, long count)
Transfers bytes from the given readable channel into this channel.
|
abstract long | transferTo(long position, long count, WritableByteChannel target)
Transfers bytes from this channel's file to the given writable byte
channel.
|
abstract FileChannel | truncate(long size)
Truncates the channel's file at size .
|
FileLock | tryLock()
Tries to aqquire alock on the whole associated file.
|
abstract FileLock | tryLock(long position, long size, boolean shared)
Tries to aqquire a lock on a region of the associated file.
|
long | write(ByteBuffer[] srcs)
Writes data to the channel.
|
abstract int | write(ByteBuffer src)
Writes data to the channel.
|
abstract int | write(ByteBuffer srcs, long position)
Writes data to the channel.
|
abstract long | write(ByteBuffer[] srcs, int offset, int length)
Writes data to the channel.
|
Throws: ClosedChannelException If this channel is closed. IOException If an I/O error occurs.
Throws: IOException If an I/O error occurs.
Throws: AsynchronousCloseException If another thread closes this channel while the transfer is in progress. ClosedChannelException If this channel is closed. FileLockInterruptionException If the invoking thread is interrupted while blocked in this method. IOException If an I/O error occurs. NonReadableChannelException If shared is true and this channel was not opened for reading. NonWritableChannelException If shared is false and this channel was not opened for writing. OverlappingFileLockException If a lock that overlaps the requested region is already held by this Java virtual machine, or if another thread is already blocked in this method and is attempting to lock an overlapping region.
Throws: AsynchronousCloseException If another thread closes this channel while the transfer is in progress. ClosedChannelException If this channel is closed. FileLockInterruptionException If the invoking thread is interrupted while blocked in this method. IllegalArgumentException If the preconditions on the parameters do not hold. IOException If an I/O error occurs. OverlappingFileLockException If a lock that overlaps the requested region is already held by this Java virtual machine, or if another thread is already blocked in this method and is attempting to lock an overlapping region. NonReadableChannelException If shared is true and this channel was not opened for reading. NonWritableChannelException If shared is false and this channel was not opened for writing.
Throws: IllegalArgumentException If the preconditions on the parameters do not hold. IOException If an I/O error occurs. NonReadableChannelException If mode is READ_ONLY but this channel was not opened for reading. NonWritableChannelException If mode is READ_WRITE or PRIVATE but this channel was not opened for writing.
Throws: ClosedChannelException If this channel is closed. IOException If an I/O error occurs.
Throws: ClosedChannelException If this channel is closed. IllegalArgumentException If newPosition is negative. IOException If an I/O error occurs.
Throws: IOException If an I/O error occurs.
Throws: IOException If an I/O error occurs.
Throws: IOException If an I/O error occurs.
Throws: AsynchronousCloseException If another thread closes this channel while the transfer is in progress. ClosedByInterruptException If another thread interrupts the current thread while the transfer is in progress, thereby closing both channels and setting the current thread's interrupt status. ClosedChannelException If this channel is closed. IllegalArgumentException If position is negative. IOException If an I/O error occurs. NonReadableChannelException If this channel was not opened for reading.
Throws: ClosedChannelException If this channel is closed.
Throws: AsynchronousCloseException If another thread closes this channel while the transfer is in progress. ClosedByInterruptException If another thread interrupts the current thread while the transfer is in progress, thereby closing both channels and setting the current thread's interrupt status. ClosedChannelException If this channel is closed. IllegalArgumentException If the preconditions on the parameters do not hold. IOException If an I/O error occurs. NonReadableChannelException If the source channel was not opened for reading. NonWritableChannelException If this channel was not opened for writing.
Throws: AsynchronousCloseException If another thread closes this channel while the transfer is in progress. ClosedByInterruptException If another thread interrupts the current thread while the transfer is in progress, thereby closing both channels and setting the current thread's interrupt status. ClosedChannelException If this channel is closed. IllegalArgumentException If the preconditions on the parameters do not hold. IOException If an I/O error occurs. NonReadableChannelException If this channel was not opened for reading. NonWritableChannelException If the target channel was not opened for writing.
size
.
Throws: ClosedChannelException If this channel is closed. IllegalArgumentException If size is negative. IOException If an I/O error occurs. NonWritableChannelException If this channel was not opened for writing.
Throws: ClosedChannelException If this channel is closed. IOException If an I/O error occurs. OverlappingFileLockException If a lock that overlaps the requested region is already held by this Java virtual machine, or if another thread is already blocked in this method and is attempting to lock an overlapping region.
Throws: ClosedChannelException If this channel is closed. IllegalArgumentException If the preconditions on the parameters do not hold. IOException If an I/O error occurs. OverlappingFileLockException If a lock that overlaps the requested region is already held by this Java virtual machine, or if another thread is already blocked in this method and is attempting to lock an overlapping region.
Throws: IOException If an I/O error occurs.
Throws: IOException If an I/O error occurs.
Throws: AsynchronousCloseException If another thread closes this channel while the transfer is in progress. ClosedByInterruptException If another thread interrupts the current thread while the transfer is in progress, thereby closing both channels and setting the current thread's interrupt status. ClosedChannelException If this channel is closed. IllegalArgumentException If position is negative. IOException If an I/O error occurs. NonWritableChannelException If this channel was not opened for writing.
Throws: IOException If an I/O error occurs.