emkiset.ru

Hoe een object in Java te serialiseren

Wanneer u een object in Java serializas, wat je doet is turn data in byte streams die vervolgens worden omgezet terug in een kopie van de originele data. Als dit verwarrend klinkt, denk dan aan serialisatie in de volgende bewoordingen. Stel dat u aan een document werkt en het op uw harde schijf opslaat. Wat je zou doen, om zo te zeggen, zou zijn om de gegevens te serialiseren, zodat je later een kopie kunt krijgen. Serialisatie maakt de overdracht van gegevens op het netwerk veel eenvoudiger en efficiënter. Het is belangrijk dat u de essentie van Java begrijpt voordat u een object serialiseert. Als u hebt gebruikt talen als Pascal en oudere versies van C, weet je dat zonder serialisatie, moet de programmeur een file I / S van afzonderlijke tekst te maken, om de belasting gegevens op te slaan en. Door het serialiseren van objecten in Java hoeft dit tekstbestand niet te worden gemaakt om de gegevens op te slaan en tijd te besparen, evenals programmeerkosten. Het volgende artikel bevat de stappen om een ​​object in Java te serialiseren. De voorbeeldcode die in dit artikel wordt weergegeven, is afkomstig van The Java Developers Almanac 1.4.

stappen

Titel afbeelding Serialize an Object in Java Step 1
1
Open de Java-objectcode die moet worden geserialiseerd of maak een geheel nieuwe code.
  • Titel afbeelding Serialize an Object in Java Step 2
    2
    Selecteer het object in Java dat u wilt serialiseren. In dit voorbeeld noemen we dit object "MyObject".
  • Titel afbeelding Serialize an Object in Java Step 3
    3


    Hiermee wordt de serialisatie van objecten in java ingeschakeld, waardoor de klasse MyObject wordt overgenomen van de klasse java.io.Serialize. Je moet gewoon de volgende regel code toe te voegen aan het begin van de code, ter vervanging van de regel "public class MyObject." Java.io.Serializable.public public class MyObject class MijnObj implementeert implementsjava.io.Serializable
  • Titel afbeelding Serialize an Object in Java Step 4
    4
    Uw object is nu serialiseerbaar, dit betekent dat het met een uitvoerstroom kan worden geschreven, op de volgende manier:
  • probeer {
    // Een gegevensobject serialiseren naar een bestand
    ObjectOutputStream out = nieuwe ObjectOutputStream (nieuw
    FileOutputStream ("MyObject.ser")) -
    out.writeObject (object) -
    out.close () -
    // Een gegevensobject serialiseren naar een bytearray
    ByteArrayOutputStream bos = new ByteArrayOutputStream () -
    out = new ObjectOutputStream (bos) -
    out.writeObject (object) -
    out.close () -
    // Verkrijg de bytes van het geserialiseerde object
    byte [] buf = bos.toByteArray () -
    } catch (IOException e) {
    }



  • Titel afbeelding Serialize an Object in Java Step 5
    5
    Je kunt het op de volgende manier lezen:
    try {FileInputStream deur = new FileInputStream ( "name_of_file.sav") - ObjectInputStream reader = new ObjectInputStream (deur) -MyObject x = new MyObject () - x = (MyObject) reader.nextObject () -} catch (IOException e) { e.printStackTrace () -}
    Titel afbeelding Serialize an Object in Java Step 6
  • Titel afbeelding Serialize an Object in Java Step 7
    6
    Voer de code van het geserialiseerde object in een Java-programma uit om te zorgen dat het werkt (optioneel).
  • 7
    Sla het geserialiseerde object op in Java en sluit het.
  • tips

    • Als u de lees- en schrijftijden in grote objectstructuren wilt verbeteren, gebruikt u het trefwoord `transient` om variabelen instantiëren die geen serialisatie vereisen. Dit zal de prestaties verbeteren omdat u niet langer onnodige gegevens in het serialisatieproces zult lezen of schrijven.
    • Verbeteringen op het gebied serialisatie in Java SE Development Kit 6 kunt u de methode van ObjectStreamClass lookupAny gebruiken om een ​​object niet serializable klassen te manipuleren.

    waarschuwingen

    • Meestal brengt Java bijna elk jaar een nieuwe versie van zijn Ontwikkelingskit uit. De nieuwe versies bevatten updates en wijzigingen met betrekking tot de manieren waarop u een object in Java kunt serialiseren. Daarom is het belangrijk om de wijzigingen in de versie die u gebruikt te observeren.
    • Wanneer u objecten serialiseert, kunt u geen gegevensstromen coderen. Daarom moet u, indien nodig, vertrouwen op andere toepassingen of secundaire netwerktransportprocessen om de gegevens te beschermen.
    • Momenteel is er geen optie waarmee je objecten in bestanden met willekeurige toegang kunt schrijven. In plaats daarvan kunt u Byte Array-invoer- en uitvoerstromen gebruiken als een mogelijke plaats om objecten te lezen en te schrijven. U moet er echter voor zorgen dat het hele object zich in de stroom van de Byte Array bevindt, anders mislukt het proces.
    Meer weergeven ... (4)
    Delen op sociale netwerken:

    Verwant
    Hoe een Java-venster in Swing te sluitenHoe een Java-venster in Swing te sluiten
    Hoe u uw Java-versie kunt controleren vanaf de Windows-opdrachtregelHoe u uw Java-versie kunt controleren vanaf de Windows-opdrachtregel
    Hoe u uw Java_Home-pad in Ubuntu configureertHoe u uw Java_Home-pad in Ubuntu configureert
    Hoe u uw eerste Java-programma maakt in Ubuntu LinuxHoe u uw eerste Java-programma maakt in Ubuntu Linux
    Hoe Java uit te schakelenHoe Java uit te schakelen
    Hoe HTTP POST-aanvragen op Android uit te voerenHoe HTTP POST-aanvragen op Android uit te voeren
    Hoe de som van twee getallen in Java te vindenHoe de som van twee getallen in Java te vinden
    Hoe Java in te schakelenHoe Java in te schakelen
    Hoe Java te installeren op Windows 8Hoe Java te installeren op Windows 8
    Hoe Java te installerenHoe Java te installeren
    » » Hoe een object in Java te serialiseren
    © 2021 emkiset.ru