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: 🔥Разгадала СЕКРЕТ вязания сетки ПО-НОВОМУ! 👉Интересный способ вязания, о котором я раньше не знала 2024, Svibanj
Anonim

Kada serijalizirate objekt u Javi, podatke pretvarate u nizove bajtova koji se kasnije pretvaraju natrag 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 učinkovitijim.

Važno je razumjeti osnove Jave prije serijalizacije 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, čime se štedi vrijeme i troškovi programiranja. Sljedeći članak sadrži korake za serijalizaciju objekta u Javi. Primjer 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 taj ćemo objekt nazvati “MyObject”.

Serijalizirajte objekt u Javi Korak 3
Serijalizirajte objekt u Javi Korak 3

Korak 3. Omogućite serijalizaciju objekata u Javi tako da klasa MyObject implementira sučelje java.io. Serialize

Samo dodajte sljedeći kodni redak na početak koda, zamijenivši redak "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ći redovi koda ilustriraju kako zapisati MyObject (ili bilo koji objekt koji se može serijalizirati) na datoteku ili disk.

    probati{

    // Seriziranje podatkovnog objekta u datoteku

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

    out.writeObject (objekt);

    out.close ();

    // Serijaliziranje podatkovnog objekta u bajt niz

    ByteArrayOutputStream bos = novi ByteArrayOutputStream ();

    out = novi ObjectOutputStream (bos);

    out.writeObject (objekt);

    out.close ();

    // Dohvaćanje 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:

pokušajte {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 ();}

Serijalizirajte objekt u Javi Korak 6
Serijalizirajte objekt u Javi Korak 6
Serijalizirajte objekt u Javi Korak 7
Serijalizirajte objekt u Javi Korak 7

Korak 6. Izvršite serijski objektni kod unutar Java programa kako biste bili sigurni da djeluje učinkovito (izborno)

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 pomoću ObjectStreamClass-a potražite 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. To će povećati performanse jer više ne čitate i ne upisujete nepotrebne podatke u proces serijalizacije.

Upozorenja

  • Java izlazi s novom verzijom svog 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, ako je potrebno, osloniti na druge aplikacije ili sekundarne mrežne transportne procese.
  • Trenutno ne postoji opcija koja vam omogućuje pisanje objekata u datoteku sa slučajnim pristupom. Umjesto toga, možete koristiti ulazne izlazne tokove polja Byte Array kao rezervirano mjesto za čitanje i pisanje objekata. No, provjerite je li cijeli objekt u nizu Byte Array ili će proces uspjeti.

Preporučeni: