dmylogi.com

Hoe om `n voorwerp in Java te serialiseer

Wanneer u `n voorwerp in Java serialiseer, doen u die data om in byte-strome wat dan weer in `n kopie van die oorspronklike data omskep word. As dit verwarrend is, dink aan serialisering in die volgende terme. Gestel jy werk aan `n dokument en stoor dit op jou hardeskyf. Wat jy sou doen, sou wees om die data te serialiseer sodat jy later `n kopie kan kry. Serialisering maak die oordrag van data op die netwerk baie makliker en doeltreffender. Dit is belangrik dat jy die noodsaaklikhede van Java verstaan ​​voordat jy `n voorwerp serialiseer. As jy gebruik tale soos Pascal en ouer weergawes van C, jy weet dat sonder serialisasie, moet die programmeerder `n lêer I / S van afsonderlike teks te skep, te laai data stoor en. Die serialisering van voorwerpe in Java vermy om hierdie tekslêer te skep om die data te stoor, en bespaar tyd sowel as programkoste. Die volgende artikel bevat die stappe om `n voorwerp in Java te serialiseer. Die voorbeeldkode wat in hierdie artikel verskyn, is met vergunning van The Java Developers Almanac 1.4.

stappe

Prent getiteld Serialiseer `n voorwerp in Java Stap 1
1
Open die Java-voorwerpkode wat serialisering vereis, of skep een van nuuts af.
  • Prent getiteld Serialiseer `n voorwerp in Java Stap 2
    2
    Kies die voorwerp in Java wat jy wil serialiseer. In hierdie voorbeeld sal ons hierdie voorwerp "MyObject" noem.
  • Prent getiteld Serialiseer `n voorwerp in Java Stap 3
    3
    Aktiveer die serialisering van voorwerpe in Java, wat veroorsaak dat die MyObject-klas van die java.io.Serialize class erf. Jy hoef net na die volgende lyn van kode te voeg aan die begin van die kode, die vervanging van die lyn "public class MyObject." Java.io.Serializable.public openbare klas MyObject klas MyObject implemente implementsjava.io.Serializable
  • Prent getiteld Serialiseer `n voorwerp in Java Stap 4
    4
    Nou is jou voorwerp serialiseerbaar, dit beteken dat dit met behulp van `n uitsetstroom geskryf kan word, op die volgende manier:
  • probeer {
    // Serialiseer `n data-voorwerp na `n lêer
    ObjectOutputStream out = nuwe ObjectOutputStream (new
    FileOutputStream ("MyObject.ser")) -
    out.writeObject (voorwerp) -
    out.close () -
    // Serialiseer `n data-voorwerp na `n byte-skikking
    ByteArrayOutputStream bos = nuwe ByteArrayOutputStream () -
    out = nuwe ObjectOutputStream (bos) -
    out.writeObject (voorwerp) -
    out.close () -
    // Haal die grepe van die serialized object
    byte [] buf = bos.toByteArray () -
    } vang (IOException e) {
    }


  • Prent getiteld Serialiseer `n voorwerp in Java Stap 5
    5
    U kan dit op die volgende manier lees:
    Probeer {FileInputStream deur = nuwe FileInputStream ( "name_of_file.sav") - ObjectInputStream leser = nuwe ObjectInputStream (deur) -MyObject x = nuwe MyObject () - x = (MyObject) reader.nextObject () -} catch (IOException e) { e.printStackTrace () -}
    Prent getiteld Serialiseer `n voorwerp in Java Stap 6
  • Prent getiteld Serialiseer `n voorwerp in Java Stap 7
    6
    Voer die kode van die seriële objek uit in `n Java-program om seker te maak dit werk effektief (opsioneel).
  • 7
    Stoor die geselekteerde voorwerp in Java en sluit dit.
  • wenke

    • Om lees en skryf tye in groot voorwerpbome te verbeter, gebruik die term "oorgangs" om veranderlikes te skep wat nie serialisering benodig nie. Dit sal prestasie verbeter omdat jy nie meer onnodige data in die serialiseringsproses lees of skryf nie.
    • Die uitbreidings tot serialisering in Java SE Development Kit 6 stel u in staat om die ObjectStreamClass lookupAny-metode te gebruik om enige voorwerp in nie-serialiseerbare klasse te manipuleer.

    waarskuwings

    • Java laat gewoonlik elke jaar `n nuwe weergawe van die Develpment Kit uit. Die nuwe weergawes bevat opdaterings en veranderinge rakende die maniere waarop jy `n voorwerp in Java kan serialiseer. Daarom is dit belangrik om die veranderinge in die weergawe wat u gebruik, in ag te neem.
    • Wanneer u voorwerpe serialiseer, kan u nie data vloei nie. Gevolglik sal jy moet staatmaak op ander toepassings of sekondêre netwerkvervoerprosesse om die data te beskerm, indien nodig.
    • Tans is daar geen opsie waarmee jy voorwerpe in willekeurige toegangslêers kan skryf nie. In plaas daarvan kan jy Byte Array invoer- en uitvoerstrome gebruik as `n moontlike plek om voorwerpe te lees en te skryf. U moet egter seker maak dat die hele voorwerp in die vloei van die Byte Array is, anders sal die proses misluk.
    Wys meer ... (4)
    Deel op sosiale netwerke:

    Verwante
    Hoe om `n Java-venster in Swing te sluitHoe om `n Java-venster in Swing te sluit
    Hoe om jou Java-weergawe van die Windows-opdraglyn na te gaanHoe om jou Java-weergawe van die Windows-opdraglyn na te gaan
    Hoe om jou Java_Home-pad in Ubuntu op te stelHoe om jou Java_Home-pad in Ubuntu op te stel
    Hoe om jou eerste Java-program in Ubuntu Linux te skepHoe om jou eerste Java-program in Ubuntu Linux te skep
    Hoe om Java te laai in Internet ExplorerHoe om Java te laai in Internet Explorer
    Hoe om HTTP POST versoeke op Android uit te voerHoe om HTTP POST versoeke op Android uit te voer
    Hoe om die som van twee getalle in Java te vindHoe om die som van twee getalle in Java te vind
    Hoe om `n skikking in Java te drukHoe om `n skikking in Java te druk
    Hoe om Java op Windows 8 te installeerHoe om Java op Windows 8 te installeer
    Hoe om Java op Ubuntu te installeerHoe om Java op Ubuntu te installeer
    » » Hoe om `n voorwerp in Java te serialiseer
    © 2024 dmylogi.com