Ako serializovať objekt v Jave: 8 krokov (s obrázkami)

Obsah:

Ako serializovať objekt v Jave: 8 krokov (s obrázkami)
Ako serializovať objekt v Jave: 8 krokov (s obrázkami)

Video: Ako serializovať objekt v Jave: 8 krokov (s obrázkami)

Video: Ako serializovať objekt v Jave: 8 krokov (s obrázkami)
Video: Сделайте внутреннюю часть книги-раскраски KDP Scissor Skills за 9 тысяч долларов, чтобы самостоятельно опубликовать ее на Amazon 2024, Smieť
Anonim

Keď serializujete objekt v Jave, konvertujete údaje na bajtové toky, ktoré sa neskôr prevedú späť na kópiu pôvodných údajov. Ak to znie mätúco, myslite na serializáciu v nasledujúcich pojmoch. Pracujete na dokumente a potom ho uložte na pevný disk. Stručne povedané, serializujete údaje, aby ste ich mohli neskôr získať. Vďaka serializácii je prenos údajov v sieťach oveľa jednoduchší a efektívnejší.

Je dôležité, aby ste pred serializáciou objektu pochopili základy Javy. Ak ste použili programovacie jazyky ako Pascal a staršie verzie C, budete vedieť, že bez serializácie objektov musí programátor vytvoriť samostatný textový súbor I/O na ukladanie a načítanie údajov. Serializácia objektu v Jave obchádza vytváranie tohto textového súboru na ukladanie údajov, čo šetrí čas a náklady na programovanie. Nasledujúci článok obsahuje kroky na serializáciu objektu v Jave. Vzorový kód v tomto článku je použitý s láskavým dovolením The Java Developers Almanac 1.4.

Kroky

Serializácia objektu v Jave, krok 1
Serializácia objektu v Jave, krok 1

Krok 1. Otvorte objekt kódovania Java, ktorý vyžaduje serializáciu, alebo ho vytvorte úplne od začiatku

Serializácia objektu v Jave, krok 2
Serializácia objektu v Jave, krok 2

Krok 2. Vyberte objekt v Jave, ktorý chcete serializovať

V tomto prípade tento objekt nazveme „MyObject“.

Serializácia objektu v Jave, krok 3
Serializácia objektu v Jave, krok 3

Krok 3. Povoliť serializáciu objektov v Jave vytvorením triedy MyObject na implementáciu rozhrania java.io. Serialize

Stačí pridať nasledujúci riadok kódu na začiatok kódu, ktorý nahradí riadok „verejná trieda MyObject“. Verejná trieda MyObject implementuje java.io. Serializable

Serializácia objektu v Jave, krok 4
Serializácia objektu v Jave, krok 4

Krok 4. Teraz je váš objekt serializovateľný, to znamená, že môže byť zapísaný výstupným prúdom, ako je tento:

  • Nasledujúce riadky kódu ilustrujú, ako zapísať MyObject (alebo akýkoľvek serializovateľný objekt) do súboru alebo na disk.

    skúsiť {

    // Serializácia dátového objektu do súboru

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

    out.writeObject (objekt);

    out.close ();

    // Serializácia dátového objektu do bajtového poľa

    ByteArrayOutputStream bos = nový ByteArrayOutputStream ();

    out = nový ObjectOutputStream (bos);

    out.writeObject (objekt);

    out.close ();

    // Získať bajty serializovaného objektu

    bajt buf = bos.toByteArray ();

    } catch (IOException e) {

    }

Serializácia objektu v Jave, krok 5
Serializácia objektu v Jave, krok 5

Krok 5. Dá sa to čítať takto:

skúste {FileInputStream door = new FileInputStream ("name_of_file.sav"); Čítačka ObjectInputStream = nový ObjectInputStream (dvere); MyObject x = nový MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Serializácia objektu v Jave, krok 6
Serializácia objektu v Jave, krok 6
Serializácia objektu v Jave, krok 7
Serializácia objektu v Jave, krok 7

Krok 6. Vykonajte kód serializovaného objektu v programe Java, aby ste sa presvedčili, že funguje efektívne (voliteľné)

Spustite súbor. Jar Java, krok 9
Spustite súbor. Jar Java, krok 9

Krok 7. Uložte a zatvorte serializovaný objekt v Jave

Tipy

  • Vylepšenia serializácie v Java SE Development Kit 6 vám umožňujú použiť akúkoľvek metódu vyhľadávania ObjectStreamClass na spracovanie akýchkoľvek neserializovateľných objektov triedy.
  • Na zvýšenie doby čítania a zápisu vo veľkých stromoch objektov použite kľúčové slovo „prechodné“napríklad pre premenné, ktoré nevyžadujú serializáciu. To zvýši výkon v tom, že už viac nečítate a nezapisujete nepotrebné údaje do procesu serializácie.

Varovania

  • Java prichádza s novou verziou súpravy pre vývojárov takmer každoročne. Nové verzie obsahujú inovácie a zmeny v spôsobe serializácie objektu v Jave. Preto je dôležité sledovať zmeny vo verzii, ktorú používate.
  • Pri serializácii objektov nemôžete šifrovať toky údajov. Na ochranu údajov sa preto v prípade potreby budete musieť spoľahnúť na iné aplikácie alebo procesy sekundárnej siete.
  • V súčasnosti neexistuje žiadna možnosť, ktorá vám umožňuje zapisovať objekty do súboru s náhodným prístupom. Namiesto toho môžete použiť vstupné výstupné toky Byte Array ako zástupný symbol, z ktorého môžete čítať a zapisovať objekty. Uistite sa však, že je celý objekt v streame Byte Array, inak proces zlyhá.

Odporúča: