Kuidas Java -s objekti serialiseerida: 8 sammu (piltidega)

Sisukord:

Kuidas Java -s objekti serialiseerida: 8 sammu (piltidega)
Kuidas Java -s objekti serialiseerida: 8 sammu (piltidega)

Video: Kuidas Java -s objekti serialiseerida: 8 sammu (piltidega)

Video: Kuidas Java -s objekti serialiseerida: 8 sammu (piltidega)
Video: Vector Image Trace In Inkscape 2024, Aprill
Anonim

Kui Java -s objekti järjestatakse, teisendate andmed baitvoogudeks, mis hiljem teisendatakse tagasi algandmete koopiaks. Kui see tundub segane, mõelge serialiseerimisele järgmistes terminites. Töötate dokumendi kallal ja salvestage see seejärel kõvakettale. Räägite, et järjestate andmeid, et saaksite selle koopia hiljem kätte saada. Serialiseerimine muudab andmete edastamise võrkudes palju lihtsamaks ja tõhusamaks.

Enne objekti seerianumbrit on oluline mõista Java põhitõdesid. Kui olete kasutanud programmeerimiskeeli, näiteks Pascali ja C -i vanemaid versioone, teate, et ilma objektide jadastamiseta peab programmeerija andmete salvestamiseks ja laadimiseks looma eraldi I/O -tekstifaili. Objektide jadastamine Java -süsteemis möödub selle tekstifaili loomisest andmete salvestamiseks, säästes aega ja programmeerimiskulusid. Järgmine artikkel sisaldab Java -s objekti seerianumbreid. Selle artikli näidiskoodi kasutatakse viisakalt Java Developers Almanac 1.4.

Sammud

Seadistage objekt Java -s 1. samm
Seadistage objekt Java -s 1. samm

Samm 1. Avage Java -kodeerimisobjekt, mis nõuab serialiseerimist, või looge see nullist

Seadistage objekt Java -s 2. etapis
Seadistage objekt Java -s 2. etapis

Samm 2. Valige Java -seadmes objekt, mida soovite järjestada

Selles näites nimetame seda objekti "MyObject".

Seadistage objekt Java -s 3. samm
Seadistage objekt Java -s 3. samm

Samm 3. Luba objektide seeriaviisiline koostamine Java -s, muutes MyObject klassi java.io. Serialize liidese rakendamiseks

Lihtsalt lisage koodi algusesse järgmine koodirida, asendades rea "avalik klass MyObject". Avalik klass MyObject rakendab java.io. Serializable

Serialiseerige objekt Java -s 4. samm
Serialiseerige objekt Java -s 4. samm

Samm 4. Nüüd on teie objekt serialiseeritav, see tähendab, et seda saab kirjutada väljundvooga järgmiselt:

  • Järgmised koodiridad illustreerivad, kuidas MyObjecti (või mis tahes järjestatavat objekti) faili või kettale kirjutada.

    proovi {

    // Andmeobjekti järjestamine faili

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

    out.writeObject (objekt);

    out.close ();

    // Seadista andmeobjekt baidimassiivi

    ByteArrayOutputStream bos = uus ByteArrayOutputStream ();

    out = uus ObjectOutputStream (bos);

    out.writeObject (objekt);

    out.close ();

    // Hankige järjestatud objekti baidid

    bait buf = bos.toByteArray ();

    } saak (IOException e) {

    }

Seadistage objekt Java Java 5
Seadistage objekt Java Java 5

Samm 5. Seda saab lugeda järgmiselt:

proovige {FileInputStream door = new FileInputStream ("nimi_fail.sav"); ObjectInputStream lugeja = new ObjectInputStream (uks); MyObject x = uus MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Serialiseerige objekt Java -s 6. samm
Serialiseerige objekt Java -s 6. samm
Seadistage objekt Java Java 7
Seadistage objekt Java Java 7

Samm 6. Käivitage Java -programmis seeriaobjektikood, et veenduda selle tõhusas toimimises (valikuline)

Käivitage. Jar Java -fail 9. samm
Käivitage. Jar Java -fail 9. samm

Samm 7. Salvestage ja sulgege jadastatud objekt Java -s

Näpunäiteid

  • Java SE arenduskomplekti 6 seriaalistamise täiustused võimaldavad teil ObjectStreamClass otsida mis tahes meetodit mis tahes seeriaviisiliste klassiobjektide käsitlemiseks.
  • Suurte objektipuude lugemis- ja kirjutamisaegade parandamiseks kasutage märksõna „mööduv“, näiteks muutujate jaoks, mis ei nõua järjestamist. See suurendab jõudlust, kuna te ei loe ja kirjutab enam tarbetuid andmeid serialiseerimisprotsessi.

Hoiatused

  • Java tuleb koos arendajakomplekti uue versiooniga välja peaaegu igal aastal. Uued versioonid sisaldavad täiendusi ja muudatusi selles, kuidas saate Java -s objekti seerianumbrit muuta. Seetõttu on oluline jälgida kasutatava versiooni muudatusi.
  • Objektide järjestamisel ei saa andmevooge krüptida. Seetõttu peate andmete kaitsmiseks vajadusel tuginema teistele rakendustele või teisese võrgu edastusprotsessile.
  • Praegu pole ühtegi võimalust, mis võimaldaks teil objekte juhusliku juurdepääsuga faili kirjutada. Selle asemel saate baitide massiivi sisendväljundvooge kasutada kohatäiteks objektide lugemiseks ja kirjutamiseks. Veenduge siiski, et kogu objekt on baitmassiivi voos, vastasel juhul ebaõnnestub protsess.

Soovitan: