Object Serialization and Deserialization java in hindi

Object Serialization and Deserialization java in hindi

जावा प्रोग्रामिंग लैंग्वेज में सीरियलाइज़ेशन और डीसीरियलाइज़ेशन ऐसे फाइल मैनेजमेंट कांसेप्ट या मेथड हैं, जो जावा यूजर को फाइल हैंडलिंग डाटा ऑब्जेक्ट्स को बाइट स्ट्रीम सीरियलाइज़ेशन मेथड में कन्वर्ट करने और बाइट स्ट्रीम से डाटा ऑब्जेक्ट्स को फिर से क्रिएट कर डीसीरियलाइज़ेशन करने के फीचर्स प्रोवाइड करता हैं। जावा में सीरियलाइज़ेशन और डीसीरियलाइज़ेशन फाइल मेथड प्रोसेस का यूज़ सामान्य रूप से फाइल ऑब्जेक्ट डाटा इन्फो ऑब्जेक्ट्स को मौजूदा फ़ाइलों में स्टोर करने, उन्हें ऑनलाइन नेटवर्क पर सेंड करने या मल्टीप्ल इंडिविजुअल कनेक्टेड सेशन में डेटा को मेन्टेन करने में किया जाता है।

Object Serialization and Deserialization java in hindi

So, let’s explore the serialization and deserialization concepts in Java programming.

Serialization Methods in Java.

जावा फाइल हैंडलिंग प्रोसेस में सीरियलाइज़ेशन कांसेप्ट का यूज़ किसी फाइल ऑब्जेक्ट डाटा को बाइट्स सीक्वेंस में कन्वर्ट करने में किया जाता है, जिससे की उस बाइट डाटा इन्फो को इजी स्टोर और प्रोसेस किया जा सके. जैसे की, जरूरत पड़ने पर किसी फ़ाइल या कनेक्टेड डेटाबेस में या सिस्टम नेटवर्क पे इजी सेंड किया जा सके। मोजूदा फाइल में बाइट स्ट्रीम ऑब्जेक्ट की स्थिति जिसमें उसका डेटा और मेटाडेटा मौजूद होता है, को डिस्प्ले करती है. जिसे बाद में जरूरत पड़ने पर डीसीरियलाइज़ेशन प्रोसेस से करेक्ट किया जा सकता है।

How the serialization concept works in Java.

जावा फाइल हैंडलिंग प्रोसेस में एक फाइल डाटा, इन्फो, ऑब्जेक्ट को बाइट स्ट्रीम में सीरियलाइज़ मेथड का यूज़ कर कन्वर्ट किया जाता है. जिसमें किसी क्लास टाइप, डेटा और दूसरे क्लास ऑब्जेक्ट्स के रेफरेंस के बारे में डिटेल इनफार्मेशन इन्क्लुड होती है।

फाइल हैंडलिंग प्रोसेस में फाइल ऑब्जेक्ट की क्लास सीरियलाइज़ेबल इंटरफ़ेस को अप्लाई करना पड़ता है. जैसे, सीरियलाइज़ में अप्लाई करने के लिए कोई मेथड नहीं है। यह जावा लैंग्वेज में इंडीकेट करता है कि मौजूदा फाइल ऑब्जेक्ट को सीरियलाइज़ किया जा सकता है।

Java Serializable interface concept.

जावा फाइल हैंडलिंग प्रोसेस में सीरियलाइज़ेबल इंटरफ़ेस एक क्लास को सीरियलाइज़ेबल के रूप में इंडीकेट करता है। सीरियलाइज़ेबल में कोई यूजर मेथड डिफाइन नहीं होता है। जब जावा यूजर इसमें किसी क्लास इंटरफ़ेस को इम्प्लीमेंट करता है, तो जावा लैंग्वेज एनवायरनमेंट ऑटोमैटिकली फाइल में ऑब्जेक्ट को सीरियलाइज़ कर देता है. यह समझ कर क्लास के सभी नॉन-ट्रांज़िएंट फ़ील्ड भी सीरियलाइज़ेबल होते हैं।

import java.io.Serializable;

public class Course implements Serializable {

    private int c_id;

    private String course_name;

    // here we create a course Constructor for course class

    public Course(int c_id, String course_name) {

        this.c_id = c_id;

        this.course_name = course_name;

    }

    // here we create a Getters and Setters method for course class

    public int getId() {

        return c_id;

    }

    public String getName() {

        return course_name;

    }

}

Example of serialization in the Java language.

जावा फाइल हैंडलिंग में किसी फाइल ऑब्जेक्ट को सीरियलाइज़ करने के लिए, जावा यूजर सामान्य रूप से  ObjectOutputStream क्लास को अप्लाई करते हैं. इसका यूज़ फाइल ऑब्जेक्ट को आउटपुट स्ट्रीम जैसे, एक फ़ाइल में डाटा और इन्फो को क्रिएट करने में किया जाता है।

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.ObjectOutputStream;

public class SerializationIllustration {

    public static void main(String[] args) {

        Course course = new Course(101, “Java Language”);

        try (ObjectOutputStream objotstrm = new ObjectOutputStream(new FileOutputStream(“course.ser”))) {

            objotstrm.writeObject(course);  // here we Serialize the course content object

            System.out.println(“here user define Object is serialized -“);

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}

Here in the ObjectOutputStream example above.

  • यहाँ इस प्रोग्राम में ObjectOutputStream.writeObject() course क्लास ऑब्जेक्ट को सीरियलाइज़ करता है, और इसे एक फ़ाइल (course.ser) में क्रिएट करता है।
  • यहाँ यह फ़ाइल ऑब्जेक्ट का बाइट रिप्रेजेंटेशन सिस्टम में स्टोर करेगी।

Deserialization concept in Java.

जावा फाइल हैंडलिंग प्रोसेस में डीसेरियलाइज़ेशन कांसेप्ट एक बाइट स्ट्रीम को ओरिजिनल ऑब्जेक्ट की कॉपी में कन्वर्ट करने का एक प्रोसेस या मेथड है। यह फीचर फाइल हैंडलिंग में किसी मौजूदा फ़ाइल या स्ट्रीम से सीरियलाइज़्ड फाइल डाटा ऑब्जेक्ट को रीड करता है, और उसे सिस्टम मेमोरी में एक लाइव ऑब्जेक्ट में फिर से क्रिएट करता  है।

Deserialization example in Java.

जावा फाइल हैंडलिंग प्रोसेस में किसी फाइल ऑब्जेक्ट को डीसेरियलाइज़ करने के लिए, जावा यूजर ObjectInputStream क्लास को अप्लाई करते हैं. जो मौजूदा फाइल में बाइट स्ट्रीम को रीड करता है, और फाइल में ओरिजिनल डाटा इन्फो ऑब्जेक्ट को दोबारा क्रिएट करता है।

import java.io.FileInputStream;

import java.io.IOException;

import java.io.ObjectInputStream;

public class DeserializationIllustration {

    public static void main(String[] args) {

        try (ObjectInputStream objtinptstrm = new ObjectInputStream(new FileInputStream(“course.ser”))) {

            Course course = (Course) objtinptstrm.readObject();  // here it Deserialize the course class object

            System.out.println(“here it start process of Object deserialized -“);

            System.out.println(“Course c_id – ” + course.getc_id());

            System.out.println(“Course course_name – ” + course.getcourse_name());

        } catch (IOException | ClassNotFoundException e) {

            e.printStackTrace();

        }

    }

}

Here in this example.

  • यहाँ डीसेरियलाइज़ फाइल हैंडलिंग प्रोसेस में ObjectInputStream.readObject() फ़ाइल (course.ser) से बाइट स्ट्रीम डाटा को रीड करता है, जिसमे कोर्स क्लास ऑब्जेक्ट को दोबारा क्रिएट किया जाता है, और यह उसे उसके ओरिजिनल डाटा टाइप में वापस कास्ट करता है।
  • डीसेरियलाइज़ प्रोसेस फाइल डाटा ऑब्जेक्ट को उसकी ओरिजिनल पोजीशन में रिवर्ट करता है, और कोर्स क्लास के फ़ील्ड (जैसे c_id और course_name) फील्ड को ऐसे एक्सेस करता है. जैसे, उसे मौजूदा फाइल में कभी सीरियलाइज़ ही न किया गया हो।

Leave a Reply