Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |
TheRandomAccessFile
class implements both theDataInput
andDataOutput
interfaces and therefore can be used for both reading and writing.RandomAccessFile
is similar toFileInputStream
andFileOutputStream
in that you specify a file on the native file system to open when you create it. You can do this with a file name or a File object. When you create aRandomAccessFile
, you must indicate whether you will be just reading the file or also writing to it. (You have to be able to read a file in order to write it.) The following code creates aRandomAccessFile
to read the file namedfarrago.txt
:And this one opens the same file for both reading and writing:new RandomAccessFile("farrago.txt", "r");After the file has been opened, you can use the commonnew RandomAccessFile("farrago.txt", "rw");read
orwrite
methods defined in theDataInput
andDataOutput
interfaces to perform I/O on the file.
RandomAccessFile
supports the notion of a file pointer. The file pointer indicates the current location in the file. When the file is first created, the file pointer is set to 0, indicating the beginning of the file. Calls to theread
andwrite
methods adjust the file pointer by the number of bytes read or written.In addition to the normal file I/O methods that implicitly move the file pointer when the operation occurs, A ZIP file has the notion of a current file pointer.
RandomAccessFile
contains three methods for explicitly manipulating the file pointer.
int skipBytes(int)
Moves the file pointer forward the specified number of bytesvoid seek(long)
Positions the file pointer just before the specified bytelong getFilePointer()
Returns the current byte location of the file pointer
Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |
Copyright 1995-2005 Sun Microsystems, Inc. All rights reserved.