Java -da ob'ektni qanday ketma -ketlashtirish kerak: 8 qadam (rasmlar bilan)

Mundarija:

Java -da ob'ektni qanday ketma -ketlashtirish kerak: 8 qadam (rasmlar bilan)
Java -da ob'ektni qanday ketma -ketlashtirish kerak: 8 qadam (rasmlar bilan)

Video: Java -da ob'ektni qanday ketma -ketlashtirish kerak: 8 qadam (rasmlar bilan)

Video: Java -da ob'ektni qanday ketma -ketlashtirish kerak: 8 qadam (rasmlar bilan)
Video: Inkscape - Урок 1: Знакомство, простейшие фигуры 2024, Aprel
Anonim

Agar siz Java -da ob'ektni ketma -ketlashtirsangiz, siz ma'lumotni bayt oqimlariga aylantirasiz, keyinchalik ular asl ma'lumotlarning nusxasiga aylanadi. Agar bu chalkash tuyulsa, ketma -ketlashtirish haqida quyidagi so'zlar bilan o'ylab ko'ring. Siz hujjat ustida ishlayapsiz, keyin uni qattiq diskka saqlaysiz. Siz, so'z bilan aytganda, ma'lumotni ketma -ket yig'asiz, shunda keyinchalik bu nusxani olishingiz mumkin. Serializatsiya tarmoqlarda ma'lumotlarni uzatishni ancha oson va samaraliroq qiladi.

Ob'ektni ketma -ket joylashtirishdan oldin Java asoslarini tushunishingiz muhim. Agar siz Paskal va C ning eski versiyalari kabi dasturlash tillaridan foydalansangiz, bilasizki, dasturchi ma'lumotlarni saqlash va yuklash uchun alohida kirish -chiqish matnli faylini yaratishi kerak. Java -da ob'ektlar ketma -ketligi ma'lumotlarni saqlash, vaqt va dasturlash xarajatlarini tejash uchun ushbu matnli faylni yaratishni chetlab o'tadi. Quyidagi maqolada Java -da ob'ektni ketma -ketlashtirish bosqichlari keltirilgan. Ushbu maqoladagi namuna kodi Java Dasturchilar Germanaxi 1.4 tomonidan berilgan.

Qadamlar

Java -da ob'ektni ketma -ketlashtirish 1 -qadam
Java -da ob'ektni ketma -ketlashtirish 1 -qadam

Qadam 1. Seriallashtirishni talab qiladigan Java kodlash ob'ektini oching yoki noldan yarating

Java -da ob'ektni ketma -ketlashtirish 2 -qadam
Java -da ob'ektni ketma -ketlashtirish 2 -qadam

Qadam 2. Java -da ketma -ket joylashtirmoqchi bo'lgan ob'ektni tanlang

Ushbu misolda biz ushbu ob'ektni "MyObject" deb ataymiz.

Java -da ob'ektni ketma -ketlashtirish 3 -qadam
Java -da ob'ektni ketma -ketlashtirish 3 -qadam

3 -qadam. MyObject sinfini java.io. Serialize interfeysini amalga oshirish orqali Java -da ob'ektlar ketma -ketligini yoqing

Kod boshiga quyidagi kod qatorini kiriting, "MyObject" umumiy sinfini almashtiring. Public class MyObject java.io. Serializable -ni amalga oshiradi.

Java -da ob'ektni ketma -ketlashtirish 4 -qadam
Java -da ob'ektni ketma -ketlashtirish 4 -qadam

4 -qadam. Endi sizning ob'ektingiz ketma -ket joylashtirilishi mumkin, ya'ni uni chiqish oqimi orqali yozish mumkin:

  • Quyidagi kod satrlari MyObject (yoki ketma -ket ketadigan ob'ekt) ni faylga yoki diskka qanday yozishni ko'rsatadi.

    sinab ko'ring {

    // Ma'lumot ob'ektini faylga ketma -ket o'tkazish

    ObjectOutputStream out = yangi ObjectOutputStream (yangi FileOutputStream ("MyObject.ser")));

    out.writeObject (ob'ekt);

    out.close ();

    // Ma'lumot ob'ektini bayt qatoriga ketma -ketlashtirish

    ByteArrayOutputStream bos = yangi ByteArrayOutputStream ();

    out = new ObjectOutputStream (bos);

    out.writeObject (ob'ekt);

    out.close ();

    // Seriyali ob'ektning baytlarini oling

    bayt buf = bos.toByteArray ();

    } catch (IOException e) {

    }

Java -da ob'ektni ketma -ketlashtirish 5 -qadam
Java -da ob'ektni ketma -ketlashtirish 5 -qadam

Qadam 5. Buni shunday o'qish mumkin:

harakat qilib ko'ring {FileInputStream door = new FileInputStream ("name_of_file.sav"); ObjectInputStream o'quvchi = yangi ObjectInputStream (eshik); MyObject x = yangi MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Java -da ob'ektni ketma -ketlashtirish 6 -qadam
Java -da ob'ektni ketma -ketlashtirish 6 -qadam
Java -da ob'ektni ketma -ketlashtirish 7 -qadam
Java -da ob'ektni ketma -ketlashtirish 7 -qadam

Qadam 6. Samarali ishlashiga ishonch hosil qilish uchun Java dasturidagi ketma -ket ob'ekt kodini bajaring (ixtiyoriy)

Jar Java faylini ishga tushiring 9 -qadam
Jar Java faylini ishga tushiring 9 -qadam

Qadam 7. Java -da ketma -ket joylashgan ob'ektni saqlang va yoping

Maslahatlar

  • Java SE Development Kit 6-da ketma-ketlashtirishni yaxshilash ObjectStreamClass-dan foydalanib, ketma-ket bo'lmagan sinf ob'ektlarini boshqarish uchun har qanday usuldan foydalanish imkonini beradi.
  • Katta ob'ektlar daraxtlarida o'qish va yozish vaqtini yaxshilash uchun ketma -ketlikni talab qilmaydigan o'zgaruvchilar uchun "o'tuvchi" kalit so'zidan foydalaning. Bu ketma -ketlashtirish jarayoniga keraksiz ma'lumotlarni o'qish va yozishni to'xtatganingiz uchun ishlashni oshiradi.

Ogohlantirishlar

  • Java deyarli har yili ishlab chiqaruvchilar to'plamining yangi versiyasini chiqaradi. Yangi versiyalarga Ob'ektni Java -da qanday ketma -ketlashtirish mumkinligi to'g'risidagi yangilanishlar va o'zgarishlar kiradi. Shuning uchun, siz foydalanayotgan versiyadagi o'zgarishlarni kuzatib borish juda muhimdir.
  • Ob'ektlarni ketma -ketlashtirishda siz ma'lumotlar oqimlarini shifrlay olmaysiz. Shuning uchun, agar kerak bo'lsa, ma'lumotlarni himoya qilish uchun siz boshqa ilovalarga yoki ikkilamchi tarmoq transport jarayonlariga tayanishingiz kerak bo'ladi.
  • Hozirda tasodifiy kirish fayliga ob'ektlarni yozishga imkon beradigan variant yo'q. Buning o'rniga, siz ob'ektlarni o'qish va yozish uchun joy tutuvchi sifatida Bayt Array kirish chiqish oqimlaridan foydalanishingiz mumkin. Biroq, butun ob'ekt Bayt Array oqimida ekanligiga ishonch hosil qiling, aks holda jarayon muvaffaqiyatsiz bo'ladi.

Tavsiya: