Kuidas Javas objekti serialiseerida

Objekti Java-seeria muutmisel teisendate andmed baitivoogudeks, mis seejärel teisendatakse tagasi algandmete koopiaks. Kui see kõlab segadusse ajavalt, mõelge serialiseerimisele järgmistes mõistetes. Töötate dokumendi kallal ja salvestate selle seejärel kõvakettale. Nagu öeldud, järjestate andmeid, et saaksite selle koopia hiljem kätte saada. Serialiseerimine muudab andmete edastamise võrkudes palju lihtsamaks ja tõhusamaks. Enne objekti serialiseerimist on oluline mõista Java põhitõdesid. Kui olete kasutanud programmeerimiskeeli (nt Pascal) ja C vanemaid versioone, siis teate, et ilma objektide serialiseerimiseta peab programmeerija andmete salvestamiseks ja laadimiseks looma eraldi I/O tekstifaili. Java objektide serialiseerimine möödub selle tekstifaili loomisest andmete salvestamiseks, säästes aega ja programmeerimiskulusid. Järgmine artikkel sisaldab samme Java-objekti serialiseerimiseks. Selle artikli näidiskoodi kasutatakse Java Developers Almanac 1.4 lubadusel.

1
Avage serialiseerimist vajav Java kodeerimisobjekt või looge see nullist.

2
Valige Java-s objekt, mida soovite serialiseerida. Selles näites kutsume seda objekti “MinuObjekt.â€

3
Lubage Java-s objektide serialiseerimine, muutes MyObject klassi liidese java.io.Serialize juurutamiseks. Lihtsalt lisage koodi algusesse järgmine koodirida, asendades rea “public class MyObject”. Public class MyObject rakendab java.io.Serializable

4
Nüüd on teie objekt jadatav, mis tähendab, et seda saab kirjutada väljundvoo abil, näiteks järgmiselt: Järgmised koodiread illustreerivad, kuidas kirjutada MyObject (või mis tahes jadatav objekt) faili või kettale. try{ // Andmeobjekti järjestamine failiks ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(“MyObject.ser”)); out.writeObject(objekt); out.close(); // Andmeobjekti järjestamine baidimassiiviks ByteArrayOutputStream bos = new ByteArrayOutputStream() ; out = new ObjectOutputStream(bos) ; out.writeObject(objekt); out.close(); // Hangi serialiseeritud objekti baidid byte[] buf = bos.toByteArray(); } püüdmine (IOErand e) { }

5
Seda saab lugeda järgmiselt:try{ FileInputStream door = new FileInputStream(“faili_nimi.sav”); ObjectInputStream lugeja = new ObjectInputStream(uks); MinuObjekt x = new MyObject(); x = (MyObject) reader.nextObject();}catch (IOException e){ e.printStackTrace();}

6
Käivitage Java-programmis serialiseeritud objektikood, et tagada selle tõhus toimimine (valikuline).

7
Salvestage ja sulgege serialiseeritud objekt Java-s.