Java -де объектіні қалай сериялау керек: 8 қадам (суреттермен)

Мазмұны:

Java -де объектіні қалай сериялау керек: 8 қадам (суреттермен)
Java -де объектіні қалай сериялау керек: 8 қадам (суреттермен)

Бейне: Java -де объектіні қалай сериялау керек: 8 қадам (суреттермен)

Бейне: Java -де объектіні қалай сериялау керек: 8 қадам (суреттермен)
Бейне: КОНЦЕНТРИЧЕСКИЕ КРУГИ 2024, Мамыр
Anonim

Java -де нысанды серияландырған кезде сіз деректерді байт ағындарына түрлендіресіз, содан кейін олар бастапқы деректердің көшірмесіне қайта айналады. Егер бұл түсініксіз болып көрінсе, келесі терминдерде серияландыру туралы ойланыңыз. Сіз құжатпен жұмыс жасайсыз, содан кейін оны қатты дискіге сақтаңыз. Сіз, айтпақшы, деректерді сериялап отырсыз, сонда сіз бұл көшірмені кейін ала аласыз. Серияландыру желілердегі деректерді беруді едәуір жеңілдетеді және тиімдірек етеді.

Объектіні сериялаудан бұрын Java негіздерін түсіну маңызды. Егер сіз Паскаль және С тілінің ескі нұсқалары сияқты бағдарламалау тілдерін қолдансаңыз, онда объектіні серияландырусыз, бағдарламашы деректерді сақтау және жүктеу үшін жеке енгізу -шығару мәтіндік файлын жасауы керек екенін білесіз. Java -де объектілерді серияландыру деректерді сақтау үшін уақытты және бағдарламалау шығындарын үнемдеу үшін осы мәтіндік файлды құруды айналып өтеді. Келесі мақалада Java -дағы объектіні сериялау бойынша қадамдар бар. Бұл мақаладағы код үлгісі Java әзірлеушілер альманахының 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 сынып MyObject java.io. Serializable енгізеді

Java -де нысанды сериялау 4 -қадам
Java -де нысанды сериялау 4 -қадам

4 -қадам. Енді сіздің объектіңізді серияландыруға болады, бұл оны шығыс ағыны арқылы жазуға болатынын білдіреді:

  • Келесі кодтық жолдар MyObject (немесе кез келген серияланатын объектіні) файлға немесе дискіге қалай жазу керектігін көрсетеді.

    тырысу{

    // Деректер объектісін файлға сериялау

    ObjectOutputStream out = жаңа ObjectOutputStream (жаңа FileOutputStream («MyObject.ser»)));

    out.writeObject (объект);

    out.close ();

    // Деректер объектісін байт массивіне сериялау

    ByteArrayOutputStream bos = жаңа ByteArrayOutputStream ();

    out = new ObjectOutputStream (bos);

    out.writeObject (объект);

    out.close ();

    // Серияланған объектінің байттарын алыңыз

    байт buf = bos.toByteArray ();

    } catch (IOException e) {

    }

Java -де нысанды сериялау 5 -қадам
Java -де нысанды сериялау 5 -қадам

Қадам 5. Оны келесідей оқуға болады:

{FileInputStream есігі = жаңа FileInputStream («name_of_file.sav») көріңіз; ObjectInputStream оқу құралы = жаңа ObjectInputStream (есік); MyObject x = жаңа MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Java -де нысанды сериялау 6 -қадам
Java -де нысанды сериялау 6 -қадам
Java -де нысанды сериялау 7 -қадам
Java -де нысанды сериялау 7 -қадам

Қадам 6. Оның тиімді жұмыс істейтініне көз жеткізу үшін Java бағдарламасында серияланған нысан кодын орындаңыз (міндетті емес)

. Jar Java файлын іске қосыңыз 9 -қадам
. Jar Java файлын іске қосыңыз 9 -қадам

Қадам 7. Java -да серияланған нысанды сақтаңыз және жабыңыз

Кеңестер

  • Java SE Development Kit 6 бағдарламасындағы серияландыруды жақсарту кез келген серияланбайтын сынып объектілерін өңдеу үшін кез келген әдісті ObjectStreamClass іздеуге мүмкіндік береді.
  • Үлкен нысандар ағаштарындағы оқу мен жазу уақытын жақсарту үшін серияландыруды қажет етпейтін айнымалылар үшін «өтпелі» кілт сөзін пайдаланыңыз. Бұл өнімділікті арттырады, себебі сіз сериализация процесінде қажет емес деректерді оқымайсыз және жазбайсыз.

Ескертулер

  • Java әр жыл сайын әзірлеушілер жинағының жаңа нұсқасымен шығады. Жаңа нұсқаларға Объектіні Java -де сериялауға болатын жаңартулар мен өзгерістер кіреді. Сондықтан сіз қолданатын нұсқадағы өзгерістерді бақылау маңызды.
  • Объектілерді сериялау кезінде сіз деректер ағындарын шифрлай алмайсыз. Сондықтан, қажет болған жағдайда, деректерді қорғау үшін басқа қосымшаларға немесе екінші желілік тасымалдау процестеріне сүйену қажет болады.
  • Қазіргі уақытта кездейсоқ қатынас файлына объектілерді жазуға мүмкіндік беретін ешқандай мүмкіндік жоқ. Оның орнына, сіз байт массивінің кіріс ағындарын объектілерді оқу және жазу үшін толтырғыш ретінде пайдалана аласыз. Дегенмен, бүкіл объект Byte Array ағынында екеніне көз жеткізіңіз, әйтпесе процесс сәтсіз аяқталады.

Ұсынылған: