Si të serializoni një objekt në Java: 8 hapa (me fotografi)

Përmbajtje:

Si të serializoni një objekt në Java: 8 hapa (me fotografi)
Si të serializoni një objekt në Java: 8 hapa (me fotografi)

Video: Si të serializoni një objekt në Java: 8 hapa (me fotografi)

Video: Si të serializoni një objekt në Java: 8 hapa (me fotografi)
Video: 2 mënyrat për të mbajtur mend çdo gjë 2024, Mund
Anonim

Kur serializoni një objekt në Java, i ktheni të dhënat në rrjedhat e bajtit që më vonë kthehen përsëri në kopje të të dhënave origjinale. Nëse kjo tingëllon konfuze, mendoni për serializimin në termat e mëposhtëm. Ju jeni duke punuar në një dokument dhe më pas ruani atë në hard diskun tuaj. Ju, në mënyrën e të folurit, po i serializoni të dhënat në mënyrë që ta merrni atë kopje më vonë. Serializimi e bën transferimin e të dhënave në rrjete shumë më të lehtë dhe më efikase.

Importantshtë e rëndësishme që të kuptoni bazat e Java para se të serializoni një objekt. Nëse keni përdorur gjuhë programimi të tilla si Pascal dhe versionet më të vjetra të C, do ta dini që pa serializimin e objektit, një programues duhet të krijojë një skedar teksti të veçantë I/O për të ruajtur dhe ngarkuar të dhënat. Serializimi i objekteve në Java anashkalon krijimin e këtij skedari teksti për të ruajtur të dhënat, duke kursyer kohë dhe kosto programimi. Artikulli i mëposhtëm përmban hapat për të serializuar një objekt në Java. Kodi i mostrës në këtë artikull përdoret nga mirësjellja e The Java Developers Almanac 1.4.

Hapa

Serializimi i një objekti në Java Hapi 1
Serializimi i një objekti në Java Hapi 1

Hapi 1. Hapni objektin e kodimit Java që kërkon serializim ose krijoni një nga e para

Serializimi i një objekti në Java Hapi 2
Serializimi i një objekti në Java Hapi 2

Hapi 2. Zgjidhni objektin në Java që dëshironi të serializoni

Në këtë shembull, ne do ta quajmë atë objekt "MyObject".

Serializimi i një objekti në Java Hapi 3
Serializimi i një objekti në Java Hapi 3

Hapi 3. Aktivizoni serializimin e objektit në Java duke e bërë klasën MyObject të zbatojë ndërfaqen java.io. Serialize

Thjesht shtoni rreshtin e mëposhtëm të kodit në fillim të kodit, duke zëvendësuar vijën "klasa publike MyObject". Klasa publike MyObject zbaton java.io. Serializable

Serializimi i një objekti në Java Hapi 4
Serializimi i një objekti në Java Hapi 4

Hapi 4. Tani objekti juaj është i serializueshëm, që do të thotë se mund të shkruhet nga një rrjedhë dalëse, si kjo:

  • Linjat e mëposhtme të kodit ilustrojnë se si të shkruani MyObject (ose ndonjë objekt i serializueshëm) në një skedar ose disk.

    provo {

    // Serializoni objektin e të dhënave në një skedar

    ObjectOutputStream out = ObjectOutputStream i ri (FileOutputStream i ri ("MyObject.ser"));

    out.writeObject (objekt);

    jashtë.mbyll ();

    // Serializoni objektin e të dhënave në një grup byte

    ByteArrayOutputStream bos = ByteArrayOutputStream i ri ();

    jashtë = i ri ObjectOutputStream (bos);

    out.writeObject (objekt);

    jashtë.mbyll ();

    // Merrni bajtët e objektit të serializuar

    byte buf = bos.toByteArray ();

    } kap (IOException e) {

    }

Serializimi i një objekti në Java Hapi 5
Serializimi i një objekti në Java Hapi 5

Hapi 5. Mund të lexohet kështu:

provoni {FileInputStream door = new FileInputStream ("name_of_file.sav"); ObjectInputStream reader = i ri ObjectInputStream (dera); MyObject x = MyObject i ri (); x = (MyObject) reader.nextObject ();} kap (IOException e) {e.printStackTrace ();}

Serializimi i një objekti në Java Hapi 6
Serializimi i një objekti në Java Hapi 6
Serializimi i një objekti në Java Hapi 7
Serializimi i një objekti në Java Hapi 7

Hapi 6. Ekzekutoni kodin e objektit të serializuar brenda programit Java për t'u siguruar që ai funksionon në mënyrë efektive (opsionale)

Drejtoni një skedar. Jar Java Hapi 9
Drejtoni një skedar. Jar Java Hapi 9

Hapi 7. Ruani dhe mbyllni objektin e serializuar në Java

Këshilla

  • Përmirësimet e serializimit në Kutinë e Zhvillimit Java SE 6 ju lejojnë të përdorni ObjectStreamClass të kërkoni çdo metodë për të trajtuar çdo objekt të klasës jo të serializueshëm.
  • Për të përmirësuar kohën e leximit dhe shkrimit në pemët e objekteve të mëdha, përdorni fjalën kyçe "kalimtare" për shembull variablat që nuk kërkojnë serializim. Kjo do të rrisë performancën në atë që nuk po lexoni dhe shkruani të dhëna të panevojshme në procesin e serializimit.

Paralajmërimet

  • Java del me një version të ri të kompletit të zhvilluesit të tyre pothuajse çdo vit. Versionet e reja përfshijnë azhurnime dhe ndryshime në mënyrën se si mund të serializoni një Objekt në Java. Prandaj, është e rëndësishme të monitoroni ndryshimet në versionin që po përdorni.
  • Kur serializoni objektet, nuk mund të kriptoni rrymat e të dhënave. Prandaj, do t'ju duhet të mbështeteni në aplikacione të tjera ose procese sekondare të transportit të rrjetit për të mbrojtur të dhënat, nëse është e nevojshme.
  • Aktualisht nuk ka asnjë opsion që ju lejon të shkruani objekte në një skedar me akses të rastësishëm. Në vend të kësaj, ju mund të përdorni rrymat e daljes së grupit Byte Array si një mbajtës vendesh nga i cili mund të lexoni dhe shkruani objektet. Sidoqoftë, sigurohuni që i gjithë objekti të jetë në rrjedhën e Array Byte ose procesi do të dështojë.

Recommended: