Hur man serialiserar ett objekt i Java: 8 steg (med bilder)

Innehållsförteckning:

Hur man serialiserar ett objekt i Java: 8 steg (med bilder)
Hur man serialiserar ett objekt i Java: 8 steg (med bilder)

Video: Hur man serialiserar ett objekt i Java: 8 steg (med bilder)

Video: Hur man serialiserar ett objekt i Java: 8 steg (med bilder)
Video: Inkscape Tutorial : Creating Gear 2024, April
Anonim

När du serialiserar ett objekt i Java konverterar du data till byte -strömmar som sedan senare konverteras tillbaka till kopian av originaldata. Om detta låter förvirrande, tänk på serialisering i följande termer. Du arbetar med ett dokument och sparar det sedan på din hårddisk. Du seriöst serieriserar data så att du kan hämta den kopian senare. Serialisering gör överföringen av data på nätverk mycket enklare och mer effektiv.

Det är viktigt att du förstår grunderna i Java innan du serierar ett objekt. Om du har använt programmeringsspråk som Pascal och äldre versioner av C vet du att utan objektserialisering måste en programmerare skapa en separat I/O -textfil för att lagra och ladda data. Objektserialisering i Java går förbi att skapa denna textfil för att lagra data, vilket sparar tid och programmeringskostnader. Följande artikel innehåller stegen för att serialisera ett objekt i Java. Exempelkoden i denna artikel används med tillstånd av The Java Developers Almanac 1.4.

Steg

Serialisera ett objekt i Java Steg 1
Serialisera ett objekt i Java Steg 1

Steg 1. Öppna Java -kodningsobjektet som kräver serialisering eller skapa ett från början

Serialisera ett objekt i Java Steg 2
Serialisera ett objekt i Java Steg 2

Steg 2. Markera objektet i Java som du vill serialisera

I det här exemplet kommer vi att kalla det objektet "MyObject."

Serialisera ett objekt i Java Steg 3
Serialisera ett objekt i Java Steg 3

Steg 3. Aktivera objektserialisering i Java genom att göra MyObject -klassen för att implementera gränssnittet java.io. Serialize

Lägg bara till följande kodrad i början av koden och ersätt "public class MyObject" line.public class MyObject implementerar java.io. Serializable

Serialisera ett objekt i Java Steg 4
Serialisera ett objekt i Java Steg 4

Steg 4. Nu är ditt objekt serierbart, det betyder att det kan skrivas av en utmatningsström, så här:

  • Följande kodrader illustrerar hur man skriver MyObject (eller något serierbart objekt) till en fil eller disk.

    Prova{

    // Serialisera dataobjekt till en fil

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

    out.writeObject (objekt);

    out.close ();

    // Serialisera dataobjekt till en byte -array

    ByteArrayOutputStream bos = new ByteArrayOutputStream ();

    out = new ObjectOutputStream (bos);

    out.writeObject (objekt);

    out.close ();

    // Hämta byte för det serialiserade objektet

    byte buf = bos.toByteArray ();

    } fånga (IOException e) {

    }

Serialisera ett objekt i Java Steg 5
Serialisera ett objekt i Java Steg 5

Steg 5. Det kan läsas så här:

prova {FileInputStream door = new FileInputStream ("name_of_file.sav"); ObjectInputStream -läsare = ny ObjectInputStream (dörr); MyObject x = nytt MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Serialisera ett objekt i Java Steg 6
Serialisera ett objekt i Java Steg 6
Serialisera ett objekt i Java Steg 7
Serialisera ett objekt i Java Steg 7

Steg 6. Kör den seriella objektkoden i Java -programmet för att säkerställa att den fungerar effektivt (valfritt)

Kör en. Jar Java -fil Steg 9
Kör en. Jar Java -fil Steg 9

Steg 7. Spara och stäng det serialiserade objektet i Java

Tips

  • Serialiseringsförbättringar i Java SE Development Kit 6 låter dig använda ObjectStreamClass för att leta upp vilken metod som helst för att hantera icke-serialiserbara klassobjekt.
  • För att förbättra läs- och skrivtiden i stora objektträd, använd sökordet "övergående", till exempel variabler som inte kräver serialisering. Detta kommer att öka prestandan genom att du inte längre läser och skriver onödiga data i serieprocessen.

Varningar

  • Java kommer ut med en ny version av deras utvecklarpaket nästan varje år. Nya versioner inkluderar uppgraderingar och ändringar av hur du kan serialisera ett objekt i Java. Därför är det viktigt att övervaka ändringarna i den version du använder.
  • När du serialiserar objekt kan du inte kryptera dataströmmar. Därför måste du förlita dig på andra applikationer eller sekundära nätverkstransportprocesser för att skydda data om det behövs.
  • Det finns för närvarande inget alternativ som låter dig skriva objekt till en slumpmässig åtkomstfil. Istället kan du använda utmatningsströmmarna Byte Array som en platshållare för att läsa och skriva objekten. Se dock till att hela objektet finns i Byte Array -strömmen annars misslyckas processen.

Rekommenderad: