जावा में एक ऑब्जेक्ट को कैसे सीरियल करना है

जब आप जावा में किसी ऑब्जेक्ट को सीरियल कर सकते हैं, डेटा को बाइट्स के समूह में कनवर्ट करें और फिर उन्हें मूल डेटा की प्रतिलिपि में वापस कनवर्ट करें। यदि यह भ्रम पैदा करने लगता है, तो निम्न शर्तों में क्रमिकरण के बारे में सोचें। आप एक दस्तावेज़ पर काम कर रहे हैं और आपकी हार्ड ड्राइव पर एक कॉपी सहेज सकते हैं। आप बात कर रहे हैं, डेटा को क्रमबद्ध करने के लिए, ताकि आप बाद में एक कॉपी पुनः प्राप्त कर सकें। सीरियललाइजेशन नेटवर्क पर डेटा के हस्तांतरण की अनुमति देता है बहुत सरल और अधिक कुशल यह महत्वपूर्ण है कि आप किसी ऑब्जेक्ट को serializing से पहले जावा की मूल बातें समझते हैं। अगर आप इस तरह के पास्कल या सी के पुराने संस्करणों के रूप में भाषाओं प्रोग्रामिंग का इस्तेमाल किया है, उसे क्रमबद्धता के बिना पूरा करेगा, एक प्रोग्रामर एक अलग आई / ओ पाठ फ़ाइलें बनानी होंगी स्टोर और डेटा लोड करने के लिए। निम्नलिखित आलेख में जावा में एक ऑब्जेक्ट को सीरियल करने के लिए चरण शामिल हैं I इस लेख में नमूना कोड का उपयोग जावा डेवलपर्स अल्मैनैक 1.4 के सौजन्य से किया गया है।

कदम

जावा चरण में एक ऑब्जेक्ट Serialize शीर्षक स्टेप 1
1
जावा एन्कोडिंग ऑब्जेक्ट खोलें जिसके लिए सीरियलाइज़ेशन की आवश्यकता होती है या स्क्रैच से एक बनाइए।
  • जावा चरण 2 में एक ऑब्जेक्ट Serialize शीर्षक वाला छवि
    2
    जावा में ऑब्जेक्ट का चयन करें जिसे आप सीरियल करना चाहते हैं इस उदाहरण में, हम इस ऑब्जेक्ट को कॉल करेंगे "MyObject"।
  • जावा चरण में एक ऑब्जेक्ट Serialize शीर्षक स्टेप 3
    3
    MyObject वर्ग को java.io.Serialize वर्ग के वारिस बनाकर जावा में ऑब्जेक्ट के क्रमबद्धकरण को सक्षम करें। लाइन की जगह, बस कक्षा की शुरुआत करने के लिए कोड की निम्नलिखित पंक्ति जोड़ें "सार्वजनिक कक्षा MyObject"। लोक वर्ग MyObject java.io.Serializable लागू करता है।
  • जावा चरण में एक ऑब्जेक्ट Serialize शीर्षक चरण 4
    4



    अब आपकी ऑब्जेक्ट सीरियलजेज है, इसका मतलब है कि इसे आउटपुट स्ट्रीम के रूप में लिखा जा सकता है, जैसे निम्नलिखित:
  • कोड की निम्न पंक्तियों को एक फ़ाइल या डिस्क में MyObject (या कोई सीरिजलाइज़ ऑब्जेक्ट) कैसे लिखना है
    try {
    // एक फाइल में डेटा ऑब्जेक्ट सीरियल करें
    ObjectOutputStream = नए ऑब्जेक्टऑटपुटस्ट्रीम (नया FileOutputStream ("MyObject.ser")) -
    out.writeObject (वस्तु) -
    out.close () -

    // किसी ऑब्जेक्ट को एक बाइट सरणी में क्रमबद्ध करें
    बाइटअरेऑन आउटपुटस्ट्रीम बॉस = नया बाइटअरेऑनूटस्ट्रीम () -
    आउट = नया ऑब्जेक्टऑटपुटस्ट्रीम (बोस) -
    out.writeObject (वस्तु) -
    out.close () -

    // श्रृंखलाबद्ध ऑब्जेक्ट के बाइट्स प्राप्त करें
    बाइट [] buf = bos.toByteArray () -
    } पकड़ (IOException ई) {
    }
  • जावा चरण में एक ऑब्जेक्ट Serialize शीर्षक चरण 4
    5
    इसे निम्नानुसार पढ़ा जा सकता है:{FileInputStream दरवाजा = नया FileInputStream ("name_of_file.sav") - ObjectInputStream पाठक = नए ObjectInputStream (दरवाजा) - MyObject एक्स = नए MyObject () - एक्स = (MyObject) reader.nextObject () -} पकड़ (IOException ई) {e.printStackTrace () -}
  • जावा चरण 7 में ऑब्जेक्ट को सीरियल करना शीर्षक वाला इमेज
    6
    यह वास्तव में काम करता है (वैकल्पिक) सुनिश्चित करने के लिए जावा प्रोग्राम के भीतर धारावाहिक वस्तु कोड चलाएं
  • 7
    जावा में धारावाहिक ऑब्जेक्ट सहेजें और बंद करें
  • टिप्स

    • जावा SE डेवलपमेंट किट 6 में क्रमबद्धता का सुधार आप गैर serializable वस्तुओं के सभी वर्गों का प्रबंधन करने के विधि ObjectStreamClass lookupAny उपयोग करने के लिए अनुमति देते हैं।
    • बहुत बड़े ऑब्जेक्ट पेड़ में पढ़ने और लिखने के समय में सुधार करने के लिए, कीवर्ड का उपयोग करें "क्षणिक" उन चर को इन्स्तांत करने के लिए जिन्हें क्रमबद्धता की आवश्यकता नहीं होती है इससे प्रदर्शन में वृद्धि होगी क्योंकि आप अब सीरिजलाइज़ेशन प्रक्रिया में बेकार डेटा पढ़ना और लिख नहीं रहे हैं।

    चेतावनी

    • जावा लगभग हर साल उनके डेवलपर के किट का एक नया संस्करण प्रदान करता है नए संस्करणों में जावा में ऑब्जेक्ट को सीरियलाइज़ किया जा सकता है, इसमें सुधार और बदलाव शामिल हैं। इसलिए आपके द्वारा उपयोग किए जा रहे संस्करण में हुए परिवर्तनों की निगरानी करना महत्वपूर्ण है।
    • जब आप वस्तुओं को क्रमबद्ध करते हैं, तो आप प्रवाह को एन्क्रिप्ट नहीं कर सकते इसलिए, यदि आवश्यक हो, तो डेटा को बचाने के लिए आपको अन्य अनुप्रयोगों या किसी द्वितीयक नेटवर्क पर संचरण प्रक्रिया पर भरोसा करना होगा।
    • वर्तमान में कोई रैंडम एक्सेस फ़ाइल में ऑब्जेक्ट लिखने का कोई विकल्प नहीं है। इसके बजाय, आप बाइट एरे के इनपुट स्ट्रीम का उपयोग बेस से पढ़ सकते हैं, जिससे ऑब्जेक्ट पढ़ने और लिखना है। हालांकि, सुनिश्चित करें कि संपूर्ण वस्तु बाइट अर्रे स्ट्रीम में है, अन्यथा प्रक्रिया विफल हो जाएगी।
    और पढ़ें ... (4)
    सामाजिक नेटवर्क पर साझा करें:

    संबद्ध

    © 2011—2022 GnuMani.com