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.
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); } }
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’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!