by Dinesh Thakur

The RandomAccessFile class provides a multitude of methods for reading and writing to and from files.

Although we can certainly use FileInputStream and FileOutputStream for file I/O,

RandomAccessFile provides many more features and options.

Constructors:

RandomAccessFile(String name, String mode)

RandomAccessFile(File file, String mode)

The first constructor takes a String parameter specifying the name of the file to access, along with a String parameter specifying the type of mode (read or write). The mode type can be either "r" for read mode or "rw" for read/write mode. The second constructor takes a File object as the first parameter, which specifies the file to access. The second parameter is a mode string, which works exactly the same as it does in the first constructor.

getFilePointer() method

getFilePointer() returns the current position of the file pointer as a long value. The file pointer indicates the location in the file where data will next be read from or written to.

Seek() method

seekO method sets the file pointer to the absolute position specified by the long parameter pos.

import java.io.*;
public class RandomAccessFileJavaExample
{
        int i;
        public static void main(String args[])
        {
            try
               { 
                  RandomAccessFileJavaExample RAFileExample = new RandomAccessFileJavaExample();
                  RAFileExample.creation();
               }
                     catch(IOException e)
                            {
                               System.out.println(e);
                            }
        }
               void creation() throws IOException
                  {
                      File dt= new File("java.dat");
                      RandomAccessFile fp=new RandomAccessFile(dt,"rw");
                      for(i=1;i<=5;i++)
                             {
                               fp.writeInt(i);
                             }
                              fp.close();
                  }
 }