Slik serialiserer du et objekt i Java: 8 trinn (med bilder)

Innholdsfortegnelse:

Slik serialiserer du et objekt i Java: 8 trinn (med bilder)
Slik serialiserer du et objekt i Java: 8 trinn (med bilder)

Video: Slik serialiserer du et objekt i Java: 8 trinn (med bilder)

Video: Slik serialiserer du et objekt i Java: 8 trinn (med bilder)
Video: Create Unlimited KDP Coloring Book Images Using FREE Photographs 2024, Kan
Anonim

Når du serialiserer et objekt i Java, konverterer du dataene til byte -strømmer som deretter senere konverteres tilbake til kopien av de originale dataene. Hvis dette høres forvirrende ut, tenk på serialisering i følgende vilkår. Du jobber med et dokument og lagrer det på harddisken. Du seriemessig serierer dataene slik at du kan hente kopien senere. Serialisering gjør overføring av data på nettverk mye enklere og mer effektiv.

Det er viktig at du forstår det grunnleggende i Java før du serierer et objekt. Hvis du har brukt programmeringsspråk som Pascal og eldre versjoner av C, vet du at uten objektserialisering må en programmerer lage en egen I/O -tekstfil for å lagre og laste inn data. Objektserialisering i Java omgår opprettelsen av denne tekstfilen for lagring av data, noe som sparer tid og programmeringskostnader. Følgende artikkel inneholder trinnene for å serialisere et objekt i Java. Eksempelkoden i denne artikkelen brukes med tillatelse fra The Java Developers Almanac 1.4.

Trinn

Serialiser et objekt i Java Trinn 1
Serialiser et objekt i Java Trinn 1

Trinn 1. Åpne Java -kodingsobjektet som krever serialisering, eller lag et fra bunnen av

Serialiser et objekt i Java Trinn 2
Serialiser et objekt i Java Trinn 2

Trinn 2. Velg objektet i Java som du vil serialisere

I dette eksemplet vil vi kalle dette objektet "MyObject."

Serialiser et objekt i Java Trinn 3
Serialiser et objekt i Java Trinn 3

Trinn 3. Aktiver objektserialisering i Java ved å gjøre MyObject -klassen til å implementere grensesnittet java.io. Serialize

Bare legg til følgende kodelinje i begynnelsen av koden, og erstatt "public class MyObject" line.public class MyObject implementerer java.io. Serializable

Serialiser et objekt i Java Trinn 4
Serialiser et objekt i Java Trinn 4

Trinn 4. Nå er objektet ditt serialiserbart, det betyr at det kan skrives av en utgangsstrøm, slik:

  • Følgende kodelinjer illustrerer hvordan du skriver MyObject (eller et serialiserbart objekt) til en fil eller disk.

    prøve{

    // Serialiser dataobjekt til en fil

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

    out.writeObject (objekt);

    out.close ();

    // Serialiser dataobjekt til en byte -matrise

    ByteArrayOutputStream bos = new ByteArrayOutputStream ();

    ut = ny ObjectOutputStream (bos);

    out.writeObject (objekt);

    out.close ();

    // Få byte til det serialiserte objektet

    byte buf = bos.toByteArray ();

    } fangst (IOException e) {

    }

Serialiser et objekt i Java Trinn 5
Serialiser et objekt i Java Trinn 5

Trinn 5. Det kan leses slik:

prøv {FileInputStream door = new FileInputStream ("name_of_file.sav"); ObjectInputStream -leser = ny ObjectInputStream (dør); MyObject x = nytt MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Serialiser et objekt i Java Trinn 6
Serialiser et objekt i Java Trinn 6
Serialiser et objekt i Java Trinn 7
Serialiser et objekt i Java Trinn 7

Trinn 6. Utfør den serialiserte objektkoden i Java -programmet for å sikre at den fungerer effektivt (valgfritt)

Kjør en. Jar Java -fil Trinn 9
Kjør en. Jar Java -fil Trinn 9

Trinn 7. Lagre og lukk det serialiserte objektet i Java

Tips

  • Serialiseringsforbedringer i Java SE Development Kit 6 lar deg bruke ObjectStreamClass til å slå opp en hvilken som helst metode for å håndtere alle ikke-serialiserbare klasseobjekter.
  • For å forbedre lese- og skrivetider i store objekttrær, bruk søkeordet "forbigående" for eksempel variabler som ikke krever serialisering. Dette vil øke ytelsen ved at du ikke lenger leser og skriver unødvendige data i serieprosessen.

Advarsler

  • Java kommer ut med en ny versjon av utviklerens sett på nesten årlig basis. Nye versjoner inkluderer oppgraderinger og endringer i hvordan du kan serialisere et objekt i Java. Derfor er det viktig å overvåke endringene i versjonen du bruker.
  • Når du serialiserer objekter, kan du ikke kryptere datastrømmer. Derfor må du stole på andre applikasjoner eller sekundære nettverkstransportprosesser for å beskytte dataene, om nødvendig.
  • Det er for øyeblikket ikke noe alternativ som lar deg skrive objekter til en tilfeldig tilgangsfil. I stedet kan du bruke input -utgangsstrømmene for Byte Array som en plassholder for å lese og skrive objektene. Sørg imidlertid for at hele objektet er i Byte Array -strømmen, ellers vil prosessen mislykkes.

Anbefalt: