كيفية تسلسل عنصر في Java: 8 خطوات (بالصور)

جدول المحتويات:

كيفية تسلسل عنصر في Java: 8 خطوات (بالصور)
كيفية تسلسل عنصر في Java: 8 خطوات (بالصور)

فيديو: كيفية تسلسل عنصر في Java: 8 خطوات (بالصور)

فيديو: كيفية تسلسل عنصر في Java: 8 خطوات (بالصور)
فيديو: Inkscape فى ساعه تعلم تصميم شعار بواسطه برنامج 2024, يمكن
Anonim

عندما تقوم بتسلسل كائن في Java ، فإنك تقوم بتحويل البيانات إلى تدفقات بايت ثم يتم تحويلها لاحقًا مرة أخرى إلى نسخة من البيانات الأصلية. إذا كان هذا يبدو محيرًا ، ففكر في التسلسل في المصطلحات التالية. أنت تعمل على مستند ثم تقوم بحفظه على محرك الأقراص الثابتة. أنت ، بطريقة التحدث ، تسلسل البيانات حتى تتمكن من استرداد تلك النسخة لاحقًا. التسلسل يجعل نقل البيانات على الشبكات أسهل وأكثر كفاءة.

من المهم أن تفهم أساسيات Java قبل إجراء تسلسل للكائن. إذا كنت قد استخدمت لغات برمجة مثل Pascal والإصدارات الأقدم من C ، فستعرف أنه بدون تسلسل الكائنات ، يجب على المبرمج إنشاء ملف نصي I / O منفصل لتخزين البيانات وتحميلها. يتخطى تسلسل الكائن في Java إنشاء هذا الملف النصي لتخزين البيانات ، مما يوفر الوقت وتكاليف البرمجة. تحتوي المقالة التالية على خطوات إجراء تسلسل لكائن في Java. يتم استخدام نموذج التعليمات البرمجية في هذه المقالة بإذن من The Java Developers Almanac 1.4.

خطوات

تسلسل كائن في Java الخطوة 1
تسلسل كائن في Java الخطوة 1

الخطوة 1. افتح كائن تشفير Java الذي يتطلب التسلسل أو قم بإنشاء واحد من البداية

تسلسل كائن في Java الخطوة 2
تسلسل كائن في Java الخطوة 2

الخطوة 2. حدد الكائن في Java الذي تريد إجراء تسلسل له

في هذا المثال ، سوف نسمي هذا الكائن "MyObject".

تسلسل كائن في Java الخطوة 3
تسلسل كائن في Java الخطوة 3

الخطوة 3. قم بتمكين تسلسل الكائن في Java عن طريق إنشاء فئة MyObject لتنفيذ واجهة java.io. Serialize

ما عليك سوى إضافة سطر الكود التالي في بداية الكود ، واستبدال سطر "فئة عامة MyObject" line.public class MyObject يقوم بتنفيذ java.io. Serializable

تسلسل كائن في Java الخطوة 4
تسلسل كائن في Java الخطوة 4

الخطوة 4. الآن أصبح الكائن الخاص بك قابلاً للتسلسل ، وهذا يعني أنه يمكن كتابته بواسطة تدفق الإخراج ، مثل هذا:

  • توضح أسطر التعليمات البرمجية التالية كيفية كتابة MyObject (أو أي كائن قابل للتسلسل) إلى ملف أو قرص.

    محاولة{

    // تسلسل كائن البيانات إلى ملف

    ObjectOutputStream out = new ObjectOutputStream (new FileOutputStream ("MyObject.ser")) ؛

    out.writeObject (كائن) ؛

    out.close () ؛

    // تسلسل كائن البيانات إلى صفيف بايت

    ByteArrayOutputStream bos = new ByteArrayOutputStream () ؛

    out = new ObjectOutputStream (bos) ؛

    out.writeObject (كائن) ؛

    out.close () ؛

    // احصل على بايت الكائن المتسلسل

    بايت buf = bos.toByteArray () ؛

    } catch (IOException e) {

    }

تسلسل كائن في Java الخطوة 5
تسلسل كائن في Java الخطوة 5

الخطوة 5. يمكن قراءتها على هذا النحو:

جرب {FileInputStream door = new FileInputStream ("name_of_file.sav") ؛ قارئ ObjectInputStream = جديد ObjectInputStream (باب) ؛ MyObject x = new MyObject () ، x = (MyObject) reader.nextObject () ؛} catch (IOException e) {e.printStackTrace () ؛}

تسلسل كائن في Java الخطوة 6
تسلسل كائن في Java الخطوة 6
تسلسل كائن في Java الخطوة 7
تسلسل كائن في Java الخطوة 7

الخطوة 6. قم بتنفيذ كود الكائن المتسلسل داخل برنامج Java للتأكد من أنه يعمل بشكل فعال (اختياري)

قم بتشغيل ملف Java. Jar الخطوة 9
قم بتشغيل ملف Java. Jar الخطوة 9

الخطوة 7. احفظ وأغلق الكائن المتسلسل في Java

نصائح

  • تسمح لك تحسينات التسلسل في Java SE Development Kit 6 باستخدام ObjectStreamClass للبحث عن أي طريقة للتعامل مع أي كائنات فئة غير قابلة للتسلسل.
  • لتحسين أوقات القراءة والكتابة في أشجار الكائنات الكبيرة ، استخدم الكلمة الأساسية "العابرة" لمتغيرات المثال التي لا تتطلب التسلسل. سيؤدي ذلك إلى زيادة الأداء لأنك لم تعد تقرأ وتكتب البيانات غير الضرورية في عملية التسلسل.

تحذيرات

  • تصدر Java إصدارًا جديدًا من مجموعة مطوريها على أساس سنوي تقريبًا. تتضمن الإصدارات الجديدة ترقيات وتغييرات لكيفية إجراء تسلسل لكائن في Java. لذلك ، من المهم مراقبة التغييرات في الإصدار الذي تستخدمه.
  • عند إجراء تسلسل للكائنات ، لا يمكنك تشفير تدفقات البيانات. لذلك ، ستحتاج إلى الاعتماد على تطبيقات أخرى أو عمليات نقل شبكة ثانوية لحماية البيانات ، إذا لزم الأمر.
  • لا يوجد حاليًا خيار يسمح لك بكتابة كائنات إلى ملف وصول عشوائي. بدلاً من ذلك ، يمكنك استخدام تدفقات إخراج مدخلات Byte Array كعنصر نائب يمكن من خلاله قراءة الكائنات وكتابتها. ومع ذلك ، تأكد من وجود الكائن بأكمله في دفق صفيف البايت وإلا ستفشل العملية.

موصى به: