Kako serializirati predmet v Javi: 8 korakov (s slikami)

Kazalo:

Kako serializirati predmet v Javi: 8 korakov (s slikami)
Kako serializirati predmet v Javi: 8 korakov (s slikami)

Video: Kako serializirati predmet v Javi: 8 korakov (s slikami)

Video: Kako serializirati predmet v Javi: 8 korakov (s slikami)
Video: Supersection Week 1 2024, April
Anonim

Ko serializirate predmet v Javi, podatke pretvorite v bajtne tokove, ki se nato kasneje pretvorijo nazaj v kopijo izvirnih podatkov. Če se to sliši zmedeno, o naslednjih izrazih razmislite o serializaciji. Delate na dokumentu in ga nato shranite na trdi disk. Tako rekoč serializirate podatke, tako da lahko to kopijo pozneje pridobite. Serializacija omogoča prenos podatkov v omrežjih veliko lažje in učinkoviteje.

Pomembno je, da pred serializacijo predmeta razumete osnove Jave. Če ste uporabljali programske jezike, kot sta Pascal in starejše različice C, boste vedeli, da mora programer brez serializacije objekta ustvariti ločeno besedilno datoteko V/I za shranjevanje in nalaganje podatkov. Serizacija objektov v Javi obide ustvarjanje te besedilne datoteke za shranjevanje podatkov, prihrani čas in stroške programiranja. Naslednji članek vsebuje korake za serializacijo predmeta v Javi. Vzorčna koda v tem članku je uporabljena z uporabo Java Developer Almanac 1.4.

Koraki

Seriziraj objekt v Javi 1. korak
Seriziraj objekt v Javi 1. korak

Korak 1. Odprite objekt kodiranja Java, ki zahteva serijsko nastavitev, ali ga ustvarite iz nič

Seriziraj objekt v Javi 2. korak
Seriziraj objekt v Javi 2. korak

Korak 2. Izberite predmet v Javi, ki ga želite serijalizirati

V tem primeru bomo temu objektu rekli »MyObject«.

Serizirajte objekt v Javi 3. korak
Serizirajte objekt v Javi 3. korak

Korak 3. Omogočite zaporedje objektov v Javi tako, da razred MyObject izvede vmesnik java.io. Serialize

Samo dodajte naslednjo kodno vrstico na začetku kode in zamenjajte vrstico "javni razred MyObject". Javni razred MyObject izvaja java.io. Serializable

Seriziraj objekt v Javi 4. korak
Seriziraj objekt v Javi 4. korak

Korak 4. Zdaj je vaš objekt mogoče serializirati, kar pomeni, da ga je mogoče zapisati z izhodnim tokom, na primer:

  • Naslednje kodne vrstice ponazarjajo, kako zapisati MyObject (ali kateri koli predmet, ki ga je mogoče serijalizirati) v datoteko ali disk.

    poskusi {

    // Seriziraj podatkovni objekt v datoteko

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

    out.writeObject (objekt);

    out.close ();

    // Serialize data object to a byte array

    ByteArrayOutputStream bos = nov ByteArrayOutputStream ();

    out = nov ObjectOutputStream (bos);

    out.writeObject (objekt);

    out.close ();

    // Pridobimo bajte zaporednega predmeta

    byte buf = bos.toByteArray ();

    } catch (IOException e) {

    }

Seriziraj objekt v Javi 5. korak
Seriziraj objekt v Javi 5. korak

5. korak. Lahko ga beremo tako:

poskusite {FileInputStream door = new FileInputStream ("name_of_file.sav"); Bralnik ObjectInputStream = nov ObjectInputStream (vrata); MyObject x = nov MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Seriziraj objekt v Javi Korak 6
Seriziraj objekt v Javi Korak 6
Serizirajte objekt v Javi Korak 7
Serizirajte objekt v Javi Korak 7

Korak 6. Izvedite zaporedno kodo objekta v programu Java in se prepričajte, da deluje učinkovito (neobvezno)

Zaženite datoteko Java. Jar 9. korak
Zaženite datoteko Java. Jar 9. korak

Korak 7. Shranite in zaprite zaporedni predmet v Javi

Nasveti

  • Izboljšave zaporedja v razvojnem kompletu Java SE 6 vam omogočajo, da z ObjectStreamClass poiščete katero koli metodo za ravnanje s predmeti razreda, ki jih ni mogoče serializirati.
  • Če želite izboljšati čas branja in pisanja v velikih drevesih objektov, uporabite na primer spremenljivo ključno besedo »prehodno«, ki ne zahteva serializacije. To bo povečalo zmogljivost, saj ne boste več brali in zapisovali nepotrebnih podatkov v postopek zaporedja.

Opozorila

  • Java skoraj vsako leto izide z novo različico kompleta za razvijalce. Nove različice vključujejo nadgradnje in spremembe, kako lahko serializirate predmet v Javi. Zato je pomembno spremljati spremembe v različici, ki jo uporabljate.
  • Pri zaporedju objektov ne morete šifrirati podatkovnih tokov. Zato se boste morali za zaščito podatkov, če je potrebno, zanašati na druge aplikacije ali sekundarne omrežne transportne procese.
  • Trenutno ni možnosti, ki bi vam omogočala zapisovanje predmetov v datoteko z naključnim dostopom. Namesto tega lahko uporabite vhodne izhodne tokove matrike bajtov kot nadomestilo za branje in pisanje predmetov. Vendar se prepričajte, da je celoten objekt v toku Byte Array, sicer postopek ne bo uspel.

Priporočena: