Jak serializovat objekt v Javě: 8 kroků (s obrázky)

Obsah:

Jak serializovat objekt v Javě: 8 kroků (s obrázky)
Jak serializovat objekt v Javě: 8 kroků (s obrázky)

Video: Jak serializovat objekt v Javě: 8 kroků (s obrázky)

Video: Jak serializovat objekt v Javě: 8 kroků (s obrázky)
Video: Inkscape Tutorial : Creating Gear 2024, Smět
Anonim

Když serializujete objekt v Javě, převedete data na bajtové toky, které později převedete zpět na kopii původních dat. Pokud to zní matoucí, přemýšlejte o serializaci v následujících pojmech. Pracujete na dokumentu a poté jej uložte na pevný disk. Způsobem serializace dat jste, abyste mohli tuto kopii načíst později. Díky serializaci je přenos dat v sítích mnohem snazší a efektivnější.

Je důležité, abyste porozuměli základům Javy před serializací objektu. Pokud jste použili programovací jazyky, jako je Pascal a starší verze C, budete vědět, že bez serializace objektů musí programátor vytvořit samostatný textový soubor I/O pro ukládání a načítání dat. Serializace objektů v Javě obchází vytváření tohoto textového souboru pro ukládání dat, což šetří čas a náklady na programování. Následující článek obsahuje kroky k serializaci objektu v Javě. Ukázkový kód v tomto článku je použit s laskavým svolením The Java Developers Almanac 1.4.

Kroky

Serializace objektu v Javě Krok 1
Serializace objektu v Javě Krok 1

Krok 1. Otevřete objekt kódování Java, který vyžaduje serializaci, nebo jej vytvořte úplně od začátku

Serializace objektu v Javě Krok 2
Serializace objektu v Javě Krok 2

Krok 2. Vyberte objekt v Javě, který chcete serializovat

V tomto případě tento objekt nazveme „MyObject“.

Serializace objektu v Javě Krok 3
Serializace objektu v Javě Krok 3

Krok 3. Povolte serializaci objektů v Javě vytvořením třídy MyObject pro implementaci rozhraní java.io. Serialize

Stačí přidat následující řádek kódu na začátek kódu, který nahradí řádek „veřejná třída MyObject“. Veřejná třída MyObject implementuje java.io. Serializable

Serializace objektu v Javě Krok 4
Serializace objektu v Javě Krok 4

Krok 4. Nyní je váš objekt serializovatelný, to znamená, že může být zapsán výstupním proudem, jako je tento:

  • Následující řádky kódu ilustrují, jak zapsat MyObject (nebo jakýkoli serializovatelný objekt) do souboru nebo disku.

    Snaž se{

    // Serializace datového objektu do souboru

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

    out.writeObject (objekt);

    out.close ();

    // Serializace datového objektu do bajtového pole

    ByteArrayOutputStream bos = nový ByteArrayOutputStream ();

    out = nový ObjectOutputStream (bos);

    out.writeObject (objekt);

    out.close ();

    // Získejte bajty serializovaného objektu

    byte buf = bos.toByteArray ();

    } catch (IOException e) {

    }

Serializace objektu v Javě Krok 5
Serializace objektu v Javě Krok 5

Krok 5. Lze jej číst takto:

zkusit {FileInputStream door = new FileInputStream ("name_of_file.sav"); Čtečka ObjectInputStream = nový ObjectInputStream (dveře); MyObject x = nový MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Serializace objektu v Javě Krok 6
Serializace objektu v Javě Krok 6
Serializace objektu v Javě Krok 7
Serializace objektu v Javě Krok 7

Krok 6. Spusťte kód serializovaného objektu v programu Java, abyste se ujistili, že funguje efektivně (volitelně)

Spusťte soubor. Jar Java, krok 9
Spusťte soubor. Jar Java, krok 9

Krok 7. Uložte a zavřete serializovaný objekt v Javě

Tipy

  • Vylepšení serializace v sadě Java SE Development Kit 6 vám umožní použít ObjectStreamClass k vyhledání jakékoli metody ke zpracování jakýchkoli neserializovatelných objektů třídy.
  • Chcete -li zlepšit časy čtení a zápisu ve velkých stromech objektů, použijte pro proměnné, které nevyžadují serializaci, klíčové slovo „přechodné“. To zvýší výkon tím, že již nebudete číst a zapisovat nepotřebná data do procesu serializace.

Varování

  • Java přichází s novou verzí jejich vývojářské sady téměř na roční bázi. Nové verze zahrnují upgrady a změny způsobu serializace objektu v Javě. Proto je důležité sledovat změny ve verzi, kterou používáte.
  • Při serializaci objektů nemůžete šifrovat datové streamy. V případě potřeby tedy budete muset při ochraně dat spoléhat na jiné aplikace nebo sekundární síťové přenosové procesy.
  • V současné době neexistuje žádná možnost, která vám umožní zapisovat objekty do souboru s náhodným přístupem. Místo toho můžete použít vstupní výstupní proudy Byte Array jako zástupný symbol, ze kterého lze číst a zapisovat objekty. Ujistěte se však, že je celý objekt v proudu Byte Array, jinak proces selže.

Doporučuje: