כיצד לסדר אובייקט ב- Java: 8 שלבים (עם תמונות)

תוכן עניינים:

כיצד לסדר אובייקט ב- Java: 8 שלבים (עם תמונות)
כיצד לסדר אובייקט ב- Java: 8 שלבים (עם תמונות)

וִידֵאוֹ: כיצד לסדר אובייקט ב- Java: 8 שלבים (עם תמונות)

וִידֵאוֹ: כיצד לסדר אובייקט ב- Java: 8 שלבים (עם תמונות)
וִידֵאוֹ: Bill Schmarzo: Tesla to Trafalgar, MJ to The Captain | Turn the Lens #06 2024, אַפּרִיל
Anonim

כשאתה מסדר אובייקט בג'אווה, אתה ממיר את הנתונים לזרמי בתים ולאחר מכן הופכים חזרה להעתק הנתונים המקוריים. אם זה נשמע מבלבל, חשבו על סדרות במונחים הבאים. אתה עובד על מסמך ולאחר מכן שומר אותו בכונן הקשיח. אתה, באופן דיבור, מסדר את הנתונים באופן סדרתי כדי שתוכל לאחזר את ההעתק מאוחר יותר. סידוריזציה הופכת את העברת הנתונים ברשתות לקלה ויעילה בהרבה.

חשוב שתבין את היסודות של Java לפני סדרת אובייקט. אם השתמשת בשפות תכנות כגון פסקל וגירסאות ישנות יותר של C, תדע כי ללא סידור אובייקטים, מתכנת צריך ליצור קובץ טקסט נפרד לאחסון וטעינת נתונים. סדרת אובייקטים בג'אווה עוקפת יצירת קובץ טקסט זה לאחסון נתונים, חוסכת זמן ועלויות תכנות. המאמר הבא מכיל את השלבים לסידור אובייקט בג'אווה. הקוד לדוגמא במאמר זה משמש באדיבות ה- Java Developers Almanac 1.4.

צעדים

סדר סדר אובייקט בשלב Java
סדר סדר אובייקט בשלב Java

שלב 1. פתח את אובייקט הקידוד של Java הדורש סידור או צור אחד מאפס

סדר סדר אובייקט בשלב Java
סדר סדר אובייקט בשלב Java

שלב 2. בחר את האובייקט ב- Java שברצונך לסדר

בדוגמה זו, נקרא לאובייקט זה "MyObject".

סדר סדר אובייקט בשלב ג 'אווה
סדר סדר אובייקט בשלב ג 'אווה

שלב 3. אפשר סידור אובייקטים בג'אווה על ידי הפיכת המחלקה MyObject ליישום הממשק java.io. Serialize

פשוט הוסף את שורת הקוד הבאה בתחילת הקוד, והחלף את השורה "MyObject של המחלקה הציבורית". המחלקה הציבורית MyObject מיישמת את java.io. Serializable

סדר סדר אובייקט בשלב Java
סדר סדר אובייקט בשלב Java

שלב 4. עכשיו האובייקט שלך ניתן לסדרה, כלומר ניתן לכתוב אותו באמצעות זרם פלט, כך:

  • שורות הקוד הבאות ממחישות כיצד כותבים את MyObject (או כל אובייקט הניתן לסדרה) לקובץ או דיסק.

    לְנַסוֹת{

    // סדר את אובייקט הנתונים לקובץ

    ObjectOutputStream out = חדש ObjectOutputStream (FileOutputStream חדש ("MyObject.ser"));

    out.writeObject (אובייקט);

    out.close ();

    // סדר את אובייקט הנתונים למערך בתים

    ByteArrayOutputStream bos = new ByteArrayOutputStream ();

    out = חדש ObjectOutputStream (bos);

    out.writeObject (אובייקט);

    out.close ();

    // קבל את הבייטים של האובייקט המסודר

    בייט buf = bos.toByteArray ();

    } לתפוס (IOException e) {

    }

סדר סדר אובייקט ב- Java שלב 5
סדר סדר אובייקט ב- Java שלב 5

שלב 5. ניתן לקרוא אותו כך:

נסה {FileInputStream door = FileInputStream חדש ("name_of_file.sav"); קורא ObjectInputStream = ObjectInputStream חדש (דלת); MyObject x = MyObject חדש (); x = (MyObject) reader.nextObject ();} catch (IOException e) {e.printStackTrace ();}

סדר סדר אובייקט בשלב Java
סדר סדר אובייקט בשלב Java
סדר סדר אובייקט בשלב Java
סדר סדר אובייקט בשלב Java

שלב 6. בצע את קוד האובייקט המסודר בתוך תוכנית Java כדי לוודא שהוא פועל ביעילות (אופציונלי)

הפעל קובץ. Jar Java שלב 9
הפעל קובץ. Jar Java שלב 9

שלב 7. שמור וסגור את האובייקט המסודר ב- Java

טיפים

  • שיפורי סידורי ערכת פיתוח Java SE 6 מאפשרים לך להשתמש ב- ObjectStreamClass לחפש כל שיטה לטיפול בכל אובייקטים ברמה שאינה ניתנת לסידור.
  • כדי לשפר את זמני הקריאה והכתיבה בעצי עצים גדולים, השתמש במילת המפתח "חולפת" למשל משתנים שאינם דורשים סידור. זה יגדיל את הביצועים בכך שאתה כבר לא קורא וכותב נתונים מיותרים לתהליך הסדרה.

אזהרות

  • Java יוצאת עם גרסה חדשה של ערכת המפתחים שלהם כמעט מדי שנה. גרסאות חדשות כוללות שדרוגים ושינויים כיצד ניתן לסדר אובייקט בג'אווה. לכן, חשוב לעקוב אחר השינויים בגרסה שבה אתה משתמש.
  • בעת סידור אובייקטים לא ניתן להצפין זרמי נתונים. לכן, יהיה עליך להסתמך על יישומים אחרים או תהליכי תחבורה רשתיים משניים כדי להגן על הנתונים, במידת הצורך.
  • אין כרגע אפשרות המאפשרת לך לכתוב אובייקטים לקובץ גישה אקראית. במקום זאת, תוכל לנצל את זרמי הפלט של קלט Byte Array כמציין מקום שממנו ניתן לקרוא ולכתוב את האובייקטים. עם זאת, ודא שהאובייקט כולו נמצא בזרם מערך הבייט או שהתהליך ייכשל.

מוּמלָץ: