Kaip suskirstyti objektą į „Java“: 8 žingsniai (su paveikslėliais)

Turinys:

Kaip suskirstyti objektą į „Java“: 8 žingsniai (su paveikslėliais)
Kaip suskirstyti objektą į „Java“: 8 žingsniai (su paveikslėliais)

Video: Kaip suskirstyti objektą į „Java“: 8 žingsniai (su paveikslėliais)

Video: Kaip suskirstyti objektą į „Java“: 8 žingsniai (su paveikslėliais)
Video: The Complete Guide To Line Drawing In Inkscape 2024, Gegužė
Anonim

Kai serijuojate objektą „Java“, duomenis konvertuojate į baitų srautus, kurie vėliau vėl paverčiami originalių duomenų kopija. Jei tai skamba painiai, pagalvokite apie serializavimą šiais terminais. Dirbate su dokumentu ir išsaugokite jį kietajame diske. Kalbant, jūs serijuojate duomenis, kad vėliau galėtumėte gauti tą kopiją. Serializavimas leidžia daug lengviau ir efektyviau perduoti duomenis tinkluose.

Prieš serijuojant objektą svarbu suprasti „Java“pagrindus. Jei naudojote tokias programavimo kalbas kaip Pascal ir senesnes C versijas, žinosite, kad be objektų serijavimo programuotojas turi sukurti atskirą įvesties/išvesties teksto failą duomenims saugoti ir įkelti. Objektų serijavimas „Java“apeina šio teksto failo kūrimą, kad būtų galima saugoti duomenis, taupant laiką ir programavimo išlaidas. Šiame straipsnyje pateikiami objekto „Java“serijavimo veiksmai. Šiame straipsnyje pateiktas pavyzdinis kodas yra naudojamas „The Java Developers Almanac 1.4“.

Žingsniai

Serializuokite objektą „Java“1 veiksme
Serializuokite objektą „Java“1 veiksme

Žingsnis 1. Atidarykite „Java“kodavimo objektą, kuriam reikalinga serija, arba sukurkite jį nuo nulio

Serializuokite objektą „Java“2 veiksme
Serializuokite objektą „Java“2 veiksme

Žingsnis 2. Pasirinkite „Java“objektą, kurį norite susieti

Šiame pavyzdyje tą objektą pavadinsime „MyObject“.

Serializuokite objektą „Java“3 veiksme
Serializuokite objektą „Java“3 veiksme

Žingsnis 3. Įgalinkite objektų serijavimą „Java“, sukurdami „MyObject“klasę, kad įgyvendintų java.io. Serialize sąsają

Tiesiog pridėkite šią kodo eilutę kodo pradžioje, pakeisdami eilutę „viešosios klasės„ MyObject “. Viešosios klasės„ MyObject “įgyvendina java.io. Serializable

Serializuokite objektą „Java“4 veiksme
Serializuokite objektą „Java“4 veiksme

4 žingsnis. Dabar jūsų objektas yra serijinis, tai reiškia, kad jį galima parašyti išvesties srautu, pavyzdžiui:

  • Šios kodo eilutės iliustruoja, kaip į failą ar diską įrašyti „MyObject“(ar bet kurį serijinį objektą).

    bandyti{

    // Serializuoti duomenų objektą į failą

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

    out.writeObject (objektas);

    out.close ();

    // Serializuoti duomenų objektą į baitų masyvą

    ByteArrayOutputStream bos = naujas ByteArrayOutputStream ();

    out = naujas ObjectOutputStream (bos);

    out.writeObject (objektas);

    out.close ();

    // Gaukite serijinio objekto baitus

    baitas buf = bos.toByteArray ();

    } laimikis (IOException e) {

    }

Serializuokite objektą „Java“5 veiksme
Serializuokite objektą „Java“5 veiksme

Žingsnis 5. Tai galima perskaityti taip:

pabandykite {FileInputStream door = new FileInputStream ("name_of_file.sav"); ObjectInputStream skaitytuvas = naujas ObjectInputStream (durys); MyObject x = naujas MyObject (); x = [MyObject] reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

Serializuokite objektą „Java“6 veiksme
Serializuokite objektą „Java“6 veiksme
Serializuokite objektą „Java“7 veiksme
Serializuokite objektą „Java“7 veiksme

Žingsnis 6. Vykdykite serijinį objekto kodą „Java“programoje, kad įsitikintumėte, jog jis veikia efektyviai (neprivaloma)

Paleiskite. Jar Java failą 9 veiksmas
Paleiskite. Jar Java failą 9 veiksmas

Žingsnis 7. Išsaugokite ir uždarykite serijinį objektą „Java“

Patarimai

  • „Java SE Development Kit 6“serijos patobulinimai leidžia naudoti „ObjectStreamClass“paiešką bet kokiu metodu, kad būtų galima tvarkyti bet kokius serijinius klasės objektus.
  • Norėdami pagerinti skaitymo ir rašymo laiką dideliuose objektų medžiuose, naudokite „trumpalaikį“raktinį žodį, pavyzdžiui, kintamuosius, kuriems nereikalingas serijinis leidimas. Tai padidins našumą, nes nebeskaitote ir nerašote nereikalingų duomenų į serijavimo procesą.

Įspėjimai

  • „Java“beveik kasmet išleidžia naują kūrėjo rinkinio versiją. Naujos versijos apima atnaujinimus ir pakeitimus, kaip galima serijiškai susieti objektą „Java“. Todėl svarbu stebėti naudojamos versijos pakeitimus.
  • Serijuojant objektus negalima užšifruoti duomenų srautų. Todėl prireikus turėsite pasikliauti kitomis programomis ar antriniais tinklo perdavimo procesais, kad apsaugotumėte duomenis.
  • Šiuo metu nėra jokios galimybės, leidžiančios įrašyti objektus į atsitiktinės prieigos failą. Vietoj to, baitų masyvo įvesties srautus galite naudoti kaip vietos rezervavimo ženklą, iš kurio galima skaityti ir rašyti objektus. Tačiau įsitikinkite, kad visas objektas yra baitų masyvo sraute, kitaip procesas nepavyks.

Rekomenduojamas: