Kā serializēt objektu Java: 8 soļi (ar attēliem)

Satura rādītājs:

Kā serializēt objektu Java: 8 soļi (ar attēliem)
Kā serializēt objektu Java: 8 soļi (ar attēliem)

Video: Kā serializēt objektu Java: 8 soļi (ar attēliem)

Video: Kā serializēt objektu Java: 8 soļi (ar attēliem)
Video: Create KDP Spot the Difference Book Interiors 2024, Maijs
Anonim

Sērijveidojot objektu programmā Java, jūs pārvēršat datus baitu straumēs, kuras vēlāk tiek pārvērstas sākotnējo datu kopijā. Ja tas izklausās mulsinoši, padomājiet par serializāciju šādos terminos. Jūs strādājat pie dokumenta un pēc tam saglabājiet to cietajā diskā. Runājot, jūs sērijojat datus, lai vēlāk varētu izgūt šo kopiju. Serializācija padara datu pārsūtīšanu tīklos daudz vieglāku un efektīvāku.

Pirms objekta sērijveidošanas ir svarīgi saprast Java pamatus. Ja esat izmantojis tādas programmēšanas valodas kā Pascal un vecākas C versijas, jūs zināt, ka bez objektu sērijveidošanas programmētājam ir jāizveido atsevišķs I/O teksta fails datu glabāšanai un ielādēšanai. Objektu sērijveidošana Java sistēmā apiet šī teksta faila izveidi, lai saglabātu datus, ietaupot laiku un programmēšanas izmaksas. Šajā rakstā ir norādītas darbības, lai sērijveidotu objektu Java. Šajā rakstā izmantotā koda paraugs tiek izmantots ar Java Developers Almanac 1.4.

Soļi

Serializējiet objektu Java 1. solī
Serializējiet objektu Java 1. solī

1. solis. Atveriet Java kodēšanas objektu, kuram nepieciešama sērijveidošana, vai izveidojiet to no jauna

Serializējiet objektu Java 2. darbībā
Serializējiet objektu Java 2. darbībā

2. solis. Atlasiet Java objektu, kuru vēlaties sērijveidot

Šajā piemērā mēs šo objektu sauksim par “MyObject”.

Serializējiet objektu Java 3. solī
Serializējiet objektu Java 3. solī

Solis 3. Iespējojiet objektu sērijveidošanu Java, padarot MyObject klasi, lai ieviestu saskarni java.io. Serialize

Vienkārši pievienojiet šādu koda rindiņu koda sākumā, aizstājot rindu "publiskās klases MyObject". Publiskās klases MyObject īsteno java.io. Serializable

Serializējiet objektu Java 4. solī
Serializējiet objektu Java 4. solī

4. solis. Tagad jūsu objekts ir sērijveidojams, tas nozīmē, ka to var rakstīt ar izvades straumi, piemēram:

  • Šīs koda rindiņas ilustrē, kā rakstīt failā vai diskā MyObject (vai jebkuru sērijveidojamu objektu).

    pamēģini {

    // Serializēt datu objektu failā

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

    out.writeObject (objekts);

    out.close ();

    // Serializēt datu objektu baitu masīvā

    ByteArrayOutputStream bos = jauns ByteArrayOutputStream ();

    out = jauns ObjectOutputStream (bos);

    out.writeObject (objekts);

    out.close ();

    // Iegūstiet sērijveida objekta baitus

    baits buf = bos.toByteArray ();

    } nozveja (IOException e) {

    }

Serializējiet objektu Java 5. solī
Serializējiet objektu Java 5. solī

5. solis. To var nolasīt šādi:

pamēģini {FileInputStream door = new FileInputStream ("name_of_file.sav"); ObjectInputStream lasītājs = jauns ObjectInputStream (durvis); MyObject x = jauns MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Serializējiet objektu Java 6. darbībā
Serializējiet objektu Java 6. darbībā
Serializējiet objektu Java 7. darbībā
Serializējiet objektu Java 7. darbībā

6. solis. Izpildiet Java programmas sērijveida objekta kodu, lai pārliecinātos, ka tas darbojas efektīvi (pēc izvēles)

Palaidiet. Jar Java failu 9. darbība
Palaidiet. Jar Java failu 9. darbība

7. solis. Saglabājiet un aizveriet sērijveida objektu Java

Padomi

  • Serializācijas uzlabojumi Java SE izstrādes komplektā 6 ļauj izmantot ObjectStreamClass uzmeklēt jebkuru metodi, lai apstrādātu visus sērijveidojamos klases objektus.
  • Lai uzlabotu lasīšanas un rakstīšanas laiku lielos objektu kokos, izmantojiet “pārejošu” atslēgvārdu, piemēram, mainīgajiem, kuriem nav nepieciešama sērija. Tas palielinās veiktspēju, jo jūs vairs nelasāt un nerakstāt nevajadzīgus datus sērijas veidošanas procesā.

Brīdinājumi

  • Java gandrīz katru gadu nāk klajā ar jaunu izstrādātāja komplekta versiju. Jaunās versijas ietver jauninājumus un izmaiņas, kā jūs varat sērijveidot objektu Java. Tāpēc ir svarīgi uzraudzīt izmaiņas jūsu izmantotajā versijā.
  • Serializējot objektus, jūs nevarat šifrēt datu straumes. Tādēļ, lai aizsargātu datus, ja nepieciešams, jums jāpaļaujas uz citām lietojumprogrammām vai sekundārā tīkla transportēšanas procesiem.
  • Pašlaik nav nevienas iespējas, kas ļautu rakstīt objektus brīvpiekļuves failā. Tā vietā jūs varat izmantot baitu masīva ievades plūsmas kā vietturi, no kura lasīt un rakstīt objektus. Tomēr pārliecinieties, vai viss objekts atrodas baitu masīva plūsmā, pretējā gadījumā process neizdosies.

Ieteicams: