Paano Serialize ang isang Bagay sa Java: 8 Hakbang (na may Mga Larawan)

Talaan ng mga Nilalaman:

Paano Serialize ang isang Bagay sa Java: 8 Hakbang (na may Mga Larawan)
Paano Serialize ang isang Bagay sa Java: 8 Hakbang (na may Mga Larawan)

Video: Paano Serialize ang isang Bagay sa Java: 8 Hakbang (na may Mga Larawan)

Video: Paano Serialize ang isang Bagay sa Java: 8 Hakbang (na may Mga Larawan)
Video: Как нарисовать комнату с одной точкой перспективы 2024, Mayo
Anonim

Kapag na-serialize mo ang isang bagay sa Java, binago mo ang data sa mga byte stream na pagkatapos ay nai-convert pabalik sa kopya ng orihinal na data. Kung nakalilito ito, isipin ang serialization sa mga sumusunod na term. Nagtatrabaho ka sa isang dokumento at pagkatapos ay i-save ito sa iyong hard drive. Ikaw, sa paraan ng pagsasalita, pagsas serialize ng data upang makuha mo ang kopya na iyon sa paglaon. Ginagawa ng serialisasyon ang paglipat ng data sa mga network na mas madali at mas mahusay.

Mahalagang maunawaan mo ang mga pangunahing kaalaman sa Java bago mag-serialize ng isang bagay. Kung nagamit mo ang mga wika ng programa tulad ng Pascal at mga mas lumang bersyon ng C, malalaman mo na walang serialization ng object, ang isang programmer ay kailangang lumikha ng isang hiwalay na I / O text file upang maiimbak at mai-load ang data. Ang serialization ng object sa Java ay pumasa sa paglikha ng text file na ito upang mag-imbak ng data, makatipid ng oras at mga gastos sa programa. Naglalaman ang sumusunod na artikulo ng mga hakbang upang ma-serialize ang isang bagay sa Java. Ang sample code sa artikulong ito ay ginamit sa kabutihang loob ng The Java Developers Almanac 1.4.

Mga hakbang

Serialize ang isang Bagay sa Java Hakbang 1
Serialize ang isang Bagay sa Java Hakbang 1

Hakbang 1. Buksan ang Java coding object na nangangailangan ng serialization o lumikha ng isa mula sa simula

Serialize ang isang Bagay sa Java Hakbang 2
Serialize ang isang Bagay sa Java Hakbang 2

Hakbang 2. Piliin ang bagay sa Java na nais mong i-serialize

Sa halimbawang ito, tatawagin namin ang object na "MyObject."

Serialize ang isang Bagay sa Java Hakbang 3
Serialize ang isang Bagay sa Java Hakbang 3

Hakbang 3. Paganahin ang serialization ng bagay sa Java sa pamamagitan ng paggawa ng klase ng MyObject upang ipatupad ang interface ng java.io. Serialize

Idagdag lamang ang sumusunod na linya ng code sa simula ng code, palitan ang linya ng "pampublikong klase na MyObject". Ang klase ng publiko na MyObject ay nagpapatupad ng java.io. Serializable

Serialize ang isang Bagay sa Java Hakbang 4
Serialize ang isang Bagay sa Java Hakbang 4

Hakbang 4. Ngayon ang iyong object ay serializable, nangangahulugan ito na maaari itong maisulat ng isang output stream, tulad nito:

  • Ang mga sumusunod na linya ng code ay naglalarawan kung paano isulat ang MyObject (o anumang serializable na object) sa isang file o disk.

    subukan {

    // Serialize data object sa isang file

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

    out.writeObject (object);

    out.close ();

    // Serialize data object sa isang byte array

    ByteArrayOutputStream bos = bagong ByteArrayOutputStream ();

    out = bagong ObjectOutputStream (bos);

    out.writeObject (object);

    out.close ();

    // Kunin ang mga byte ng naka-serial na bagay

    byte buf = bos.toByteArray ();

    } catch (IOException e) {

    }

Serialize ang isang Bagay sa Java Hakbang 5
Serialize ang isang Bagay sa Java Hakbang 5

Hakbang 5. Maaari itong mabasa tulad nito:

subukan ang {FileInputStream door = bagong FileInputStream ("name_of_file.sav"); ObjectInputStream reader = bagong ObjectInputStream (pinto); MyObject x = bagong MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Serialize ang isang Bagay sa Java Hakbang 6
Serialize ang isang Bagay sa Java Hakbang 6
Serialize ang isang Bagay sa Java Hakbang 7
Serialize ang isang Bagay sa Java Hakbang 7

Hakbang 6. Isagawa ang serialized object code sa loob ng programa ng Java upang matiyak na epektibo itong gumana (opsyonal)

Patakbuhin ang isang. Jar Java File Hakbang 9
Patakbuhin ang isang. Jar Java File Hakbang 9

Hakbang 7. I-save at isara ang naka-serial na bagay sa Java

Mga Tip

  • Pinahihintulutan ka ng mga pagpapahusay sa serialisasyon sa Java SE Development Kit 6 na gamitin ang object ng ObjectStreamClass na maghanap ng anumang pamamaraan upang hawakan ang anumang hindi na-serializable na mga bagay sa klase.
  • Upang mapabuti ang mga oras ng pagbasa at pagsusulat sa malalaking mga puno ng object, gamitin ang keyword na "pansamantala" halimbawa ng mga variable na hindi nangangailangan ng serialization. Dadagdagan nito ang pagganap na hindi ka na nagbabasa at sumusulat ng hindi kinakailangang data sa proseso ng serialization.

Mga babala

  • Lumabas ang Java ng isang bagong bersyon ng kit ng kanilang developer sa halos taunang batayan. Ang mga bagong bersyon ay may kasamang mga pag-upgrade at pagbabago sa kung paano mo mai-serialize ang isang Object sa Java. Samakatuwid, mahalagang subaybayan ang mga pagbabago sa bersyon na iyong ginagamit.
  • Kapag nag-serialize ng mga bagay, hindi mo mai-encrypt ang mga stream ng data. Samakatuwid, kakailanganin mong umasa sa iba pang mga application o pangalawang proseso ng transportasyon ng network upang maprotektahan ang data, kung kinakailangan.
  • Kasalukuyang walang pagpipilian na nagbibigay-daan sa iyo upang magsulat ng mga bagay sa isang random na file ng pag-access. Sa halip, maaari mong gamitin ang Byte Array input output stream bilang isang placeholder kung saan basahin at isulat ang mga bagay. Gayunpaman, tiyaking ang buong bagay ay nasa Byte Array stream o mabibigo ang proseso.

Inirerekumendang: