Cum se serializează un obiect în Java: 8 pași (cu imagini)

Cuprins:

Cum se serializează un obiect în Java: 8 pași (cu imagini)
Cum se serializează un obiect în Java: 8 pași (cu imagini)

Video: Cum se serializează un obiect în Java: 8 pași (cu imagini)

Video: Cum se serializează un obiect în Java: 8 pași (cu imagini)
Video: The Complete Guide To Line Drawing In Inkscape 2024, Mai
Anonim

Când serializați un obiect în Java, convertiți datele în fluxuri de octeți care apoi se convertesc ulterior în copie a datelor originale. Dacă sună confuz, gândiți-vă la serializare în următorii termeni. Lucrați la un document și apoi salvați-l pe hard disk. Într-un mod de a vorbi, serializați datele, astfel încât să puteți recupera copia ulterioară. Serializarea face transferul de date pe rețele mult mai ușor și mai eficient.

Este important să înțelegeți elementele de bază ale Java înainte de a serializa un obiect. Dacă ați folosit limbaje de programare precum Pascal și versiuni mai vechi de C, veți ști că fără serializarea obiectelor, un programator trebuie să creeze un fișier text I / O separat pentru a stoca și încărca date. Serializarea obiectelor în Java ocolește crearea acestui fișier text pentru a stoca date, economisind timp și costuri de programare. Următorul articol conține pașii pentru serializarea unui obiect în Java. Exemplul de cod din acest articol este utilizat prin amabilitatea The Java Developers Almanac 1.4.

Pași

Serializați un obiect în Java Pasul 1
Serializați un obiect în Java Pasul 1

Pasul 1. Deschideți obiectul de codare Java care necesită serializare sau creați unul de la zero

Serializați un obiect în Java Pasul 2
Serializați un obiect în Java Pasul 2

Pasul 2. Selectați obiectul din Java pe care doriți să-l serializați

În acest exemplu, vom numi acel obiect „Obiectul meu”.

Serializați un obiect în Java Pasul 3
Serializați un obiect în Java Pasul 3

Pasul 3. Activați serializarea obiectelor în Java făcând clasa MyObject să implementeze interfața java.io. Serialize

Doar adăugați următoarea linie de cod la începutul codului, înlocuind linia "public class MyObject" line.public class MyObject implementează java.io. Serializable

Serializați un obiect în Java Pasul 4
Serializați un obiect în Java Pasul 4

Pasul 4. Acum obiectul dvs. este serializabil, ceea ce înseamnă că poate fi scris de un flux de ieșire, astfel:

  • Următoarele linii de cod ilustrează cum se scrie MyObject (sau orice obiect serializabil) într-un fișier sau disc.

    încerca{

    // Serializați obiectul de date într-un fișier

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

    out.writeObject (obiect);

    out.close ();

    // Serializați obiectul de date într-o matrice de octeți

    ByteArrayOutputStream bos = new ByteArrayOutputStream ();

    out = new ObjectOutputStream (bos);

    out.writeObject (obiect);

    out.close ();

    // Obțineți octeții obiectului serializat

    byte buf = bos.toByteArray ();

    } catch (IOException e) {

    }

Serializați un obiect în Java Pasul 5
Serializați un obiect în Java Pasul 5

Pasul 5. Se poate citi astfel:

încercați {FileInputStream door = new FileInputStream ("name_of_file.sav"); Cititor ObjectInputStream = nou ObjectInputStream (ușă); MyObject x = new MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Serializați un obiect în Java Pasul 6
Serializați un obiect în Java Pasul 6
Serializați un obiect în Java Pasul 7
Serializați un obiect în Java Pasul 7

Pasul 6. Executați codul obiect serializat în cadrul programului Java pentru a vă asigura că funcționează eficient (opțional)

Rulați un fișier. Jar Java Pasul 9
Rulați un fișier. Jar Java Pasul 9

Pasul 7. Salvați și închideți obiectul serializat în Java

sfaturi

  • Îmbunătățirile de serializare din Java SE Development Kit 6 vă permit să utilizați ObjectStreamClass căutați orice metodă pentru a gestiona orice obiecte de clasă non-serializabile.
  • Pentru a îmbunătăți timpul de citire și scriere în copacii de obiecte mari, utilizați cuvântul cheie „tranzitoriu”, de exemplu variabilele care nu necesită serializare. Acest lucru va crește performanța prin faptul că nu mai citiți și nu scrieți date inutile în procesul de serializare.

Avertizări

  • Java vine cu o nouă versiune a kitului pentru dezvoltatori aproape anual. Noile versiuni includ upgrade-uri și modificări ale modului în care puteți serializa un obiect în Java. Prin urmare, este important să monitorizați modificările din versiunea pe care o utilizați.
  • Când serializați obiecte, nu puteți cripta fluxurile de date. Prin urmare, va trebui să vă bazați pe alte aplicații sau procese secundare de transport în rețea pentru a proteja datele, dacă este necesar.
  • În prezent nu există nicio opțiune care să vă permită să scrieți obiecte într-un fișier cu acces aleatoriu. În schimb, puteți utiliza fluxurile de ieșire de intrare Byte Array ca un substituent din care să citiți și să scrieți obiectele. Cu toate acestea, asigurați-vă că întregul obiect se află în fluxul Byte Array sau că procesul va eșua.

Recomandat: