როგორ გავააქტიუროთ ობიექტი ჯავაში: 8 ნაბიჯი (სურათებით)

Სარჩევი:

როგორ გავააქტიუროთ ობიექტი ჯავაში: 8 ნაბიჯი (სურათებით)
როგორ გავააქტიუროთ ობიექტი ჯავაში: 8 ნაბიჯი (სურათებით)

ვიდეო: როგორ გავააქტიუროთ ობიექტი ჯავაში: 8 ნაბიჯი (სურათებით)

ვიდეო: როგორ გავააქტიუროთ ობიექტი ჯავაში: 8 ნაბიჯი (სურათებით)
ვიდეო: The Complete Guide To Line Drawing In Inkscape 2024, აპრილი
Anonim

როდესაც ობიექტის სერიალიზაციას ახდენთ ჯავაში, თქვენ გადააქცევთ მონაცემებს ბაიტ -ნაკადებად, რომლებიც შემდგომში კვლავ გადაიქცევა თავდაპირველი მონაცემების ასლში. თუ ეს გაუგებრად ჟღერს, იფიქრეთ სერიალიზაციაზე შემდეგი თვალსაზრისით. თქვენ მუშაობთ დოკუმენტზე და შემდეგ შეინახავთ თქვენს მყარ დისკზე. თქვენ საუბრობთ მონაცემების სერიალიზაციაში, რათა შემდგომში მიიღოთ ეს ასლი. სერიალიზაცია ხდის მონაცემთა გადაცემას ქსელებზე ბევრად უფრო ადვილი და ეფექტური.

მნიშვნელოვანია, რომ გესმოდეთ ჯავის საფუძვლები ობიექტის სერიალიზაციამდე. თუ თქვენ იყენებთ პროგრამირების ენებს, როგორიცაა პასკალი და C– ს ძველი ვერსიები, თქვენ გეცოდინებათ, რომ ობიექტის სერიალიზაციის გარეშე პროგრამისტმა უნდა შექმნას ცალკეული I/O ტექსტური ფაილი მონაცემების შესანახად და ჩასატვირთად. ობიექტის სერიალიზაცია ჯავაში გვერდს უვლის ამ ტექსტური ფაილის შექმნას მონაცემების შესანახად, დროის დაზოგვისა და პროგრამირების ხარჯებისათვის. შემდეგი სტატია შეიცავს ნაბიჯებს ობიექტის სერიალიზაციისთვის ჯავაში. ამ სტატიაში კოდის ნიმუში გამოიყენება Java Developers Almanac 1.4– ის წყალობით.

ნაბიჯები

ობიექტის სერიალიზაცია ჯავაში ნაბიჯი 1
ობიექტის სერიალიზაცია ჯავაში ნაბიჯი 1

ნაბიჯი 1. გახსენით ჯავის კოდირების ობიექტი, რომელიც მოითხოვს სერიალიზაციას ან შექმენით იგი ნულიდან

ობიექტის სერიალიზაცია Java– ში ნაბიჯი 2
ობიექტის სერიალიზაცია Java– ში ნაბიჯი 2

ნაბიჯი 2. შეარჩიეთ ობიექტი Java– ში, რომლის სერიალიზაციაც გსურთ

ამ მაგალითში ჩვენ ვუწოდებთ ამ ობიექტს "MyObject".

ობიექტის სერიალიზაცია ჯავაში ნაბიჯი 3
ობიექტის სერიალიზაცია ჯავაში ნაბიჯი 3

ნაბიჯი 3. ჩართეთ ობიექტის სერიალიზაცია Java– ში, MyObject კლასის გამოყენებით java.io. Serialize ინტერფეისის განხორციელებით

უბრალოდ დაამატეთ კოდის დასაწყისში შემდეგი კოდის ხაზი, შეცვალეთ "public class MyObject" ხაზი. Public class MyObject ახორციელებს java.io. Serializable

ობიექტის სერიალიზაცია ჯავაში ნაბიჯი 4
ობიექტის სერიალიზაცია ჯავაში ნაბიჯი 4

ნაბიჯი 4. ახლა თქვენი ობიექტი სერიალიზებულია, რაც იმას ნიშნავს, რომ ის შეიძლება დაიწეროს გამომავალი ნაკადით, ასე:

  • შემდეგი კოდის ხაზები ასახავს როგორ დავწეროთ MyObject (ან რომელიმე სერიალიზებული ობიექტი) ფაილზე ან დისკზე.

    სცადე {

    // მონაცემთა ობიექტის სერიალიზაცია ფაილზე

    ObjectOutputStream out = ახალი ObjectOutputStream (ახალი FileOutputStream ("MyObject.ser"));

    out.writeObject (ობიექტი);

    გარეთ. დახურვა ();

    // მონაცემთა ობიექტის სერიალიზაცია ბაიტის მასივზე

    ByteArrayOutputStream bos = ახალი ByteArrayOutputStream ();

    გარეთ = ახალი ObjectOutputStream (bos);

    out.writeObject (ობიექტი);

    გარეთ. დახურვა ();

    // მიიღეთ სერიალიზებული ობიექტის ბაიტები

    ბაიტი buf = bos.toByteArray ();

    } დაჭერა (IOException e) {

    }

ობიექტის სერიალიზაცია ჯავაში ნაბიჯი 5
ობიექტის სერიალიზაცია ჯავაში ნაბიჯი 5

ნაბიჯი 5. მისი წაკითხვა შესაძლებელია ასე:

სცადეთ {FileInputStream door = new FileInputStream ("name_of_file.sav"); ObjectInputStream მკითხველი = ახალი ObjectInputStream (კარი); MyObject x = ახალი MyObject (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

ობიექტის სერიალიზაცია ჯავაში ნაბიჯი 6
ობიექტის სერიალიზაცია ჯავაში ნაბიჯი 6
ობიექტის სერიალიზაცია Java 7 -ში
ობიექტის სერიალიზაცია Java 7 -ში

ნაბიჯი 6. შეასრულეთ სერიული ობიექტის კოდი Java პროგრამის ფარგლებში, რათა დარწმუნდეთ, რომ ის ეფექტურად მუშაობს (სურვილისამებრ)

გაუშვით. Jar Java ფაილი ნაბიჯი 9
გაუშვით. Jar Java ფაილი ნაბიჯი 9

ნაბიჯი 7. სერიალიზებული ობიექტის შენახვა და დახურვა Java- ში

Რჩევები

  • სერიალიზაციის გაუმჯობესება Java SE Development Kit 6-ში გაძლევთ საშუალებას გამოიყენოთ ObjectStreamClass ნებისმიერი მეთოდი, რათა გაუმკლავდეთ ნებისმიერი სერიალიზირებადი კლასის ობიექტს.
  • დიდი ობიექტის ხეებში წაკითხვისა და წერის დროის გასაუმჯობესებლად გამოიყენეთ „გარდამავალი“საკვანძო სიტყვა, მაგალითად ცვლადებისთვის, რომლებიც არ საჭიროებს სერიალიზაციას. ეს გაზრდის შესრულებას იმით, რომ თქვენ აღარ კითხულობთ და წერთ არასაჭირო მონაცემებს სერიალიზაციის პროცესში.

გაფრთხილებები

  • ჯავა გამოდის მათი დეველოპერის ნაკრების ახალი ვერსიით თითქმის ყოველწლიურად. ახალი ვერსიები მოიცავს განახლებებს და ცვლილებებს, თუ როგორ შეგიძლიათ ობიექტის სერიალიზაცია ჯავაში. აქედან გამომდინარე, მნიშვნელოვანია თქვენი ვერსიის ცვლილებების მონიტორინგი.
  • ობიექტების სერიალიზაციისას თქვენ არ შეგიძლიათ მონაცემთა ნაკადების დაშიფვრა. ამიტომ, საჭიროების შემთხვევაში, თქვენ უნდა დაეყრდნოთ სხვა პროგრამებს ან მეორადი ქსელის სატრანსპორტო პროცესებს.
  • ამჟამად არ არსებობს ვარიანტი, რომელიც საშუალებას გაძლევთ ჩაწეროთ ობიექტები შემთხვევითი წვდომის ფაილზე. ამის ნაცვლად, თქვენ შეგიძლიათ გამოიყენოთ Byte Array შეყვანის გამომავალი ნაკადები, როგორც ადგილის შემცველი, საიდანაც შეგიძლიათ წაიკითხოთ და დაწეროთ ობიექტები. თუმცა, დარწმუნდით, რომ მთელი ობიექტი არის Byte Array ნაკადში, წინააღმდეგ შემთხვევაში პროცესი ჩაიშლება.

გირჩევთ: