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.
conținut
stappe
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) {
}
- 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 () -}
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.
- Hoe om Java te installeer
- Hoe om `n Java-venster in Swing te sluit
- Hoe om jou Java-weergawe van die Windows-opdraglyn na te gaan
- Hoe om jou Java_Home-pad in Ubuntu op te stel
- Hoe om jou eerste Java-program in Ubuntu Linux te skep
- Hoe om Java te laai in Internet Explorer
- Hoe om HTTP POST versoeke op Android uit te voer
- Hoe om die som van twee getalle in Java te vind
- Hoe om `n skikking in Java te druk
- Hoe om Java op Windows 8 te installeer
- Hoe om Java op Ubuntu te installeer
- Hoe om `n metode in Java te bel
- Hoe om die lengte van `n tou in Java te kry
- Hoe om Java te herstel
- Hoe om JSON te gebruik
- Hoe om te kontroleer of jаvascript werk met behulp van Java Tester
- Hoe om die Java-geheue in Windows 7 te verhoog
- Hoe om Java-tuis te konfigureer
- Hoe om `n Java-ontwikkelaar op die hoogste vlak te word
- Hoe om `n veranderlike in Java te skep
- Hoe om die weergawe van Java geïnstalleer te bepaal