Name
FileChannel
Synopsis
This
class
implements a communication channel for efficiently reading and and
writing files. It implements the standard read( )
and write( )
methods of the
ReadableByteChannel
,
WritableByteChannel
,
GatheringByteChannel
and
ScatteringByteChannel
methods. In addition,
however, FileChannel
provides methods for:
random-access to the file, efficient transfer of bytes between the
file and another channel, file locking, memory mapping, querying and
setting the file size and forcing buffered updates to be written to
disk. These important features are described in further detail below.
Note that since file operations do not typically block for extended
periods the way network operations can,
FileChannel
does not subclass
SelectableChannel
(it is the only channel class
that does not) and cannot be used with Selector
objects.
FileChannel
has no public constructor and no
static factory methods. To obtain a FileChannel
,
first create a FileInputStream
,
FileOutputStream
, or
RandomAccessFile
object (see the
java.io
package) and then call the
getChannel( )
method of that object. If you use a
FileInputStream
, the resulting channel will allow
reading but not writing, and if you use a
FileOutputStream
, the channel will allow writing
but not reading. If you obtain a FileChannel
from
a RandomAccessFile
, then the channel will allow
reading, or both reading and writing, depending on the
mode
argument to the
RandomAccessFile
constructor.
A FileChannel
has a position or file pointer ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.