Sådan serialiseres et objekt i Java: 8 trin (med billeder)

Indholdsfortegnelse:

Sådan serialiseres et objekt i Java: 8 trin (med billeder)
Sådan serialiseres et objekt i Java: 8 trin (med billeder)

Video: Sådan serialiseres et objekt i Java: 8 trin (med billeder)

Video: Sådan serialiseres et objekt i Java: 8 trin (med billeder)
Video: Home Assistant. Урок 9.4 ADD-ON - Xiaomi Gateway 3, интеграция в zigbee2mqtt 2024, April
Anonim

Når du serialiserer et objekt i Java, konverterer du dataene til byte -streams, der senere konverteres tilbage til kopien af de originale data. Hvis dette lyder forvirrende, skal du tænke på serialisering i følgende termer. Du arbejder på et dokument og gemmer det derefter på din harddisk. Du serialiserer dataene sådan set, så du senere kan hente den kopi. Serialisering gør overførsel af data på netværk meget lettere og mere effektiv.

Det er vigtigt, at du forstår det grundlæggende i Java, før du serieliserer et objekt. Hvis du har brugt programmeringssprog som Pascal og ældre versioner af C, ved du, at uden objektserialisering skal en programmør oprette en separat I/O -tekstfil for at gemme og indlæse data. Objektserialisering i Java omgår oprettelse af denne tekstfil til lagring af data, hvilket sparer tid og programmeringsomkostninger. Den følgende artikel indeholder trinene til at serialisere et objekt i Java. Eksempelkoden i denne artikel bruges med tilladelse fra The Java Developers Almanac 1.4.

Trin

Serialiser et objekt i Java Trin 1
Serialiser et objekt i Java Trin 1

Trin 1. Åbn det Java -kodende objekt, der kræver serialisering, eller opret et fra bunden

Serialiser et objekt i Java Trin 2
Serialiser et objekt i Java Trin 2

Trin 2. Vælg det objekt i Java, du vil serialisere

I dette eksempel vil vi kalde dette objekt "MyObject."

Serialiser et objekt i Java Trin 3
Serialiser et objekt i Java Trin 3

Trin 3. Aktivér objektserialisering i Java ved at få MyObject -klassen til at implementere java.io. Serialize -grænsefladen

Tilføj blot følgende kodelinje i begyndelsen af koden, og erstat "public class MyObject" line.public class MyObject implementerer java.io. Serializable

Serialiser et objekt i Java Trin 4
Serialiser et objekt i Java Trin 4

Trin 4. Nu kan dit objekt serialiseres, det betyder, at det kan skrives af en output -strøm, sådan her:

  • Følgende kodelinjer illustrerer, hvordan man skriver MyObject (eller et objekt, der kan serialiseres) 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 et byte -array

    ByteArrayOutputStream bos = new ByteArrayOutputStream ();

    out = ny ObjectOutputStream (bos);

    out.writeObject (objekt);

    out.close ();

    // Hent byte af det serialiserede objekt

    byte buf = bos.toByteArray ();

    } fangst (IOException e) {

    }

Serialiser et objekt i Java Trin 5
Serialiser et objekt i Java Trin 5

Trin 5. Det kan læses sådan:

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

Serialiser et objekt i Java Trin 6
Serialiser et objekt i Java Trin 6
Serialiser et objekt i Java Trin 7
Serialiser et objekt i Java Trin 7

Trin 6. Udfør den serialiserede objektkode i Java -programmet for at sikre, at den fungerer effektivt (valgfrit)

Kør en. Jar Java -fil Trin 9
Kør en. Jar Java -fil Trin 9

Trin 7. Gem og luk det serialiserede objekt i Java

Tips

  • Serialiseringsforbedringer i Java SE Development Kit 6 giver dig mulighed for at bruge ObjectStreamClass til at slå enhver metode op til at håndtere alle ikke-serialiserbare klasseobjekter.
  • For at forbedre læse- og skrivetider i store objekttræer skal du bruge søgeordet "forbigående" for eksempel variabler, der ikke kræver serialisering. Dette vil øge ydeevnen ved, at du ikke længere læser og skriver unødvendige data i serialiseringsprocessen.

Advarsler

  • Java kommer ud med en ny version af deres udviklersæt på næsten årsbasis. Nye versioner inkluderer opgraderinger og ændringer af, hvordan du kan serialisere et objekt i Java. Derfor er det vigtigt at overvåge ændringerne i den version, du bruger.
  • Når du serialiserer objekter, kan du ikke kryptere datastrømme. Derfor skal du stole på andre applikationer eller sekundære netværkstransportprocesser for at beskytte dataene, hvis det er nødvendigt.
  • Der er i øjeblikket ingen mulighed, der giver dig mulighed for at skrive objekter til en tilfældig adgangsfil. I stedet kan du bruge Byte Array input output streams som en pladsholder, hvorfra du kan læse og skrive objekterne. Vær dog sikker på, at hele objektet er i Byte Array -strømmen, ellers vil processen mislykkes.

Anbefalede: