Kako serijalizirati objekt u Javi: 8 koraka (sa slikama)

Sadržaj:

Kako serijalizirati objekt u Javi: 8 koraka (sa slikama)
Kako serijalizirati objekt u Javi: 8 koraka (sa slikama)

Video: Kako serijalizirati objekt u Javi: 8 koraka (sa slikama)

Video: Kako serijalizirati objekt u Javi: 8 koraka (sa slikama)
Video: CS50 2014 - Week 1, continued 2024, Maj
Anonim

Kada serijalizirate objekt u Javi, podatke pretvarate u nizove bajtova koji se kasnije pretvaraju nazad u kopiju izvornih podataka. Ako ovo zvuči zbunjujuće, razmislite o serijalizaciji u sljedećim terminima. Radite na dokumentu, a zatim ga spremite na tvrdi disk. Govorite, serijski, podatke kako biste kasnije mogli preuzeti tu kopiju. Serijalizacija čini prijenos podataka na mrežama mnogo lakšim i efikasnijim.

Važno je da razumijete osnove Jave prije serializacije objekta. Ako ste koristili programske jezike kao što su Pascal i starije verzije C, znat ćete da bez serijalizacije objekata programer mora stvoriti zasebnu U/I tekstualnu datoteku za pohranu i učitavanje podataka. Serijalizacija objekata u Javi zaobilazi stvaranje ove tekstualne datoteke za pohranu podataka, štedeći vrijeme i troškove programiranja. Sljedeći članak sadrži korake za serijalizaciju objekta u Javi. Uzorak koda u ovom članku korišten je zahvaljujući Java Java Developers Almanac 1.4.

Koraci

Serijaliziranje objekta u Javi Korak 1
Serijaliziranje objekta u Javi Korak 1

Korak 1. Otvorite objekt kodiranja Java koji zahtijeva serijalizaciju ili ga stvorite od početka

Serijaliziranje objekta u Javi Korak 2
Serijaliziranje objekta u Javi Korak 2

Korak 2. Odaberite objekt u Javi koji želite serijalizirati

U ovom primjeru nazvat ćemo taj objekt “MyObject”.

Serizirajte objekt u Javi Korak 3
Serizirajte objekt u Javi Korak 3

Korak 3. Omogućite serijalizaciju objekata u Javi tako što ćete klasu MyObject implementirati sučelje java.io. Serialize

Samo dodajte sljedeću liniju koda na početak koda, zamijenivši liniju "javna klasa MyObject". Javna klasa MyObject implementira java.io. Serializable

Serijaliziranje objekta u Javi Korak 4
Serijaliziranje objekta u Javi Korak 4

Korak 4. Sada je vaš objekt moguće serijalizirati, što znači da se može zapisati izlaznim tokom, na ovaj način:

  • Sljedeće linije koda ilustriraju kako zapisati MyObject (ili bilo koji objekt koji se može serijalizirati) na datoteku ili disk.

    probaj {

    // Seriziranje objekta podataka u datoteku

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

    out.writeObject (objekt);

    out.close ();

    // Serijaliziranje objekta podataka u bajt niz

    ByteArrayOutputStream bos = novi ByteArrayOutputStream ();

    out = novi ObjectOutputStream (bos);

    out.writeObject (objekt);

    out.close ();

    // Dobivanje bajtova serijskog objekta

    byte buf = bos.toByteArray ();

    } catch (IOException e) {

    }

Serijaliziranje objekta u Javi Korak 5
Serijaliziranje objekta u Javi Korak 5

Korak 5. Može se čitati ovako:

probajte {FileInputStream door = new FileInputStream ("name_of_file.sav"); ObjectInputStream čitač = novi ObjectInputStream čitač (vrata); MyObject x = novi MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Serizirajte objekt u Javi Korak 6
Serizirajte objekt u Javi Korak 6
Serijaliziranje objekta u Javi Korak 7
Serijaliziranje objekta u Javi Korak 7

Korak 6. Izvršite serijski kod objekta u Java programu kako biste bili sigurni da radi učinkovito (opcionalno)

Pokrenite. Jar Java datoteku Korak 9
Pokrenite. Jar Java datoteku Korak 9

Korak 7. Spremite i zatvorite serijski objekt u Javi

Savjeti

  • Poboljšanja serijalizacije u Java SE Development Kit 6 omogućuju vam da koristite ObjectStreamClass search bilo koju metodu za rukovanje objektima klase koji se ne mogu serijalizirati.
  • Da biste poboljšali vrijeme čitanja i pisanja u velikim stablima objekata, upotrijebite ključnu riječ "tranient" na primjer varijable koje ne zahtijevaju serijalizaciju. Ovo će povećati performanse jer više ne čitate i ne upisujete nepotrebne podatke u proces serijalizacije.

Upozorenja

  • Java izlazi s novom verzijom njihovog razvojnog pribora gotovo svake godine. Nove verzije uključuju nadogradnje i promjene načina na koji možete serijalizirati objekt u Javi. Stoga je važno pratiti promjene u verziji koju koristite.
  • Prilikom serijalizacije objekata ne možete šifrirati tokove podataka. Stoga ćete se za zaštitu podataka morati oslanjati na druge aplikacije ili sekundarne procese mrežnog transporta, ako je potrebno.
  • Trenutno ne postoji opcija koja vam omogućuje pisanje objekata u datoteku sa slučajnim pristupom. Umjesto toga, možete koristiti izlazne izlazne tokove polja Byte Array kao rezervirano mjesto za čitanje i pisanje objekata. Međutim, provjerite je li cijeli objekt u nizu Byte Array ili proces neće uspjeti.

Preporučuje se: