ЁЯУД Random Access Files in Java рдЬाрд╡ा рдоें рд░ैंрдбрдо рдПрдХ्рд╕ेрд╕ рдлाрдЗрд▓्рд╕

In Java, Random Access Files allow us to read and write data from any position in a file without reading it sequentially.

рдЬाрд╡ा рдоें рд░ैंрдбрдо рдПрдХ्рд╕ेрд╕ рдлाрдЗрд▓्рд╕ рд╣рдоें рдлाрдЗрд▓ рдХे рдХिрд╕ी рднी рд╕्рдеाрди рд╕े рдбेрдЯा рдкрдв़рдиे рдФрд░ рд▓िрдЦрдиे рдХी рдЕрдиुрдорддि рджेрддी рд╣ैं, рдмिрдиा рдЙрд╕े рдХ्рд░рдорд╡ाрд░ рдкрдв़े।


Key Features / рдоुрдЦ्рдп рд╡िрд╢ेрд╖рддाрдПँ:-

  1. Direct Access: We can move to any file position using a file pointer.
    рдбाрдпрд░ेрдХ्рдЯ рдПрдХ्рд╕ेрд╕: рд╣рдо рдлाрдЗрд▓ рдкॉрдЗंрдЯрд░ рдХा рдЙрдкрдпोрдЧ рдХрд░рдХे рдлाрдЗрд▓ рдоें рдХिрд╕ी рднी рд╕्рдеाрди рдкрд░ рдЬा рд╕рдХрддे рд╣ैं।

  2. Read and Write Both: Same file can be used for reading and writing.
    рд░ीрдб рдФрд░ рд░ाрдЗрдЯ рджोрдиों: рдПрдХ рд╣ी рдлाрдЗрд▓ рд╕े рдкрдв़ рдФрд░ рдЙрд╕рдоें рд▓िрдЦ рд╕рдХрддे рд╣ैं।

  3. Class Used: RandomAccessFile (from java.io package).
    рдЙрдкрдпोрдЧ рдХी рдЧрдИ рдХ्рд▓ाрд╕: RandomAccessFile (java.io рдкैрдХेрдЬ рд╕े)।


ЁЯТ╗ Example 1: Writing to Random Access File

import java.io.*;

public class RandomAccessWrite {
    public static void main(String[] args) {
        try {
            RandomAccessFile raf = new RandomAccessFile("random.txt", "rw");
            
            raf.writeUTF("Hello Random File");
            raf.writeInt(12345);
            raf.writeDouble(99.99);

            raf.close();
            System.out.println("Data written successfully!");
        } catch (IOException e) {
            System.out.println("Error: " + e);
        }
    }
}

Output in Console:

Data written successfully!

File Content (binary, not human-readable): Stored in mixed binary format.


ЁЯТ╗ Example 2: Reading Specific Data from Random Access File

import java.io.*;

public class RandomAccessRead {
    public static void main(String[] args) {
        try {
            RandomAccessFile raf = new RandomAccessFile("random.txt", "r");

            System.out.println("String: " + raf.readUTF());
            System.out.println("Integer: " + raf.readInt());
            System.out.println("Double: " + raf.readDouble());

            raf.close();
        } catch (IOException e) {
            System.out.println("Error: " + e);
        }
    }
}

Output:

String: Hello Random File
Integer: 12345
Double: 99.99

ЁЯТ╗ Example 3: Jump to a Specific Position

import java.io.*;

public class RandomAccessSeek {
    public static void main(String[] args) {
        try {
            RandomAccessFile raf = new RandomAccessFile("random.txt", "rw");

            raf.seek(0);  // Move pointer to start
            System.out.println("First UTF: " + raf.readUTF());

            raf.seek(raf.length()); // Move to end and append
            raf.writeUTF(" - Appended Text");

            raf.close();
            System.out.println("Data appended successfully!");
        } catch (IOException e) {
            System.out.println("Error: " + e);
        }
    }
}

Output:

First UTF: Hello Random File
Data appended successfully!

ЁЯФ╣ Real-life Uses / рд╡ाрд╕्рддрд╡िрдХ рдЙрдкрдпोрдЧ

  • Database Systems: Direct record access without reading full file.
    рдбेрдЯाрдмेрд╕ рд╕िрд╕्рдЯрдо: рдкूрд░ी рдлाрдЗрд▓ рдкрдв़े рдмिрдиा рд░िрдХॉрд░्рдб рддрдХ рдкрд╣ुँрдЪрдиा।

  • Media Players: Jumping to a specific timestamp in audio/video files.
    рдоीрдбिрдпा рдк्рд▓ेрдпрд░: рдХिрд╕ी рд╡िрд╢ेрд╖ рд╕рдордп рдкрд░ рдЬाрдиे рдХे рд▓िрдП।

  • File Editors: Modify files without rewriting them completely.
    рдлाрдЗрд▓ рдПрдбिрдЯрд░: рдкूрд░ी рдлाрдЗрд▓ рдлिрд░ рд╕े рд▓िрдЦे рдмिрдиा рд╕ंрд╢ोрдзрди рдХрд░рдиा।

Comments

Popular posts from this blog

What is a Web Browser? рд╡ेрдм рдм्рд░ाрдЙрдЬ़рд░ рдХ्рдпा рд╣ै?

Java's Support System рдЬाрд╡ा рдХा рд╕рд╣рдпोрдЧी рддंрдд्рд░

The Internet and Java рдЗंрдЯрд░рдиेрдЯ рдФрд░ рдЬाрд╡ा рдХा рд╕рдо्рдмрди्рдз