Home  >  Article  >  Java  >  How to read .txt file using RandomAccessFile in Java?

How to read .txt file using RandomAccessFile in Java?

WBOY
WBOYforward
2023-09-08 20:13:02836browse

How to read .txt file using RandomAccessFile in Java?

Normally, when reading or writing a file, you can only read or write data from the beginning of the file. You can't read/write from random locations.

The java.io.RandomAccessFile class in Java enables you to read/write data to random access files.

This is like a large byte array with an index or cursor (called a file pointer), you can get the position of that pointer using the getFilePointer() method, and seek() Method sets the location.

This class provides various methods to read and write files. The readLine() method of this class reads the next line from the file and returns it as a string.

The steps to read data from a file using the readLine() method of this class are as follows:

  • By passing the required The path to the file to instantiate the File class.

  • Instantiate the StringBuffer class.

  • Instantiate the RandomAccessFile class by passing the File object created above and a string representing the access mode (r: read, rw: read/write, etc.).

  • Iterate over the file if its position is less than its length (length() method).

  • Append each line to the StringBuffer object created above.

Example

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
public class RandomAccessFileExample {
   public static void main(String args[]) throws IOException {
      String filePath = "D://input.txt";
      //Instantiating the File class
      File file = new File(filePath);
      //Instantiating the StringBuffer
      StringBuffer buffer = new StringBuffer();
      //instantiating the RandomAccessFile
      RandomAccessFile raFile = new RandomAccessFile(file, "rw");
      //Reading each line using the readLine() method
      while(raFile.getFilePointer() < raFile.length()) {
         buffer.append(raFile.readLine()+System.lineSeparator());
      }
      String contents = buffer.toString();
      System.out.println("Contents of the file: \n"+contents);
   }
}

Output

Contents of the file:
Tutorials Point originated from the idea that there exists a class of readers who respond better 
to online content and prefer to learn new skills.
Our content and resources are freely available and we prefer to keep it that way to encourage 
our readers acquire as many skills as they would like to.
We don&rsquo;t force our readers to sign up with us or submit their details either.
Enjoy the free content

The above is the detailed content of How to read .txt file using RandomAccessFile in Java?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete