java:object_serialization
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| java:object_serialization [2020/03/09 08:23] – [Παράδειγμα Deserialization] gthanos | java:object_serialization [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Η Java παρέχει την δυνατότητα μετατροπής ενός αντικειμένου σε μία σειρά από bytes, προκειμένου αυτό στη συνέχεια να αποθηκευτεί σε ένα μέσω μόνιμης αποθήκευσης (π.χ. αρχείο στο filesystem) ή να μεταδοθεί μέσω δικτύου προκειμένου να δημιουργηθεί ένα αντίγραφο του σε απομακρυσμένο σημείο. Η διαδικασία μετατροπής των αντικειμένων σε bytes ονομάζεται **object serialization**. | Η Java παρέχει την δυνατότητα μετατροπής ενός αντικειμένου σε μία σειρά από bytes, προκειμένου αυτό στη συνέχεια να αποθηκευτεί σε ένα μέσω μόνιμης αποθήκευσης (π.χ. αρχείο στο filesystem) ή να μεταδοθεί μέσω δικτύου προκειμένου να δημιουργηθεί ένα αντίγραφο του σε απομακρυσμένο σημείο. Η διαδικασία μετατροπής των αντικειμένων σε bytes ονομάζεται **object serialization**. | ||
| - | Αφού ένα αντικείμενο μετατραπεί σε σειρά από bytes μπορούμε να ακολουθήσουμε την αντίστροφη διαδικασία προκειμένου να δημιουργήσουμε ένα αντίγραφο του αντικειμένου. Η διαδικασία " | + | Αφού ένα αντικείμενο μετατραπεί σε σειρά από bytes μπορούμε να ακολουθήσουμε την αντίστροφη διαδικασία προκειμένου να δημιουργήσουμε ένα αντίγραφο του αντικειμένου |
| - | Οι κλάσεις **[[http:// | + | Οι κλάσεις **[[http:// |
| - | Από τις μεθόδους της κλάσης **[[http:// | + | Από τις μεθόδους της κλάσης **[[http:// |
| <code java> | <code java> | ||
| public final void writeObject(Object obj) throws IOException | public final void writeObject(Object obj) throws IOException | ||
| Line 18: | Line 18: | ||
| </ | </ | ||
| - | Αντίστοιχα από τις μεθόδους της κλάσης **[[http:// | + | Αντίστοιχα από τις μεθόδους της κλάσης **[[http:// |
| <code java> | <code java> | ||
| Line 42: | Line 42: | ||
| Θα επιχειρήσουμε να κάνουμε serialize ένα αντικείμενο της παρακάτω κλάσης Employee. | Θα επιχειρήσουμε να κάνουμε serialize ένα αντικείμενο της παρακάτω κλάσης Employee. | ||
| <code java Employee.java> | <code java Employee.java> | ||
| - | iimport | + | import |
| public class Employee implements java.io.Serializable { | public class Employee implements java.io.Serializable { | ||
| Line 108: | Line 108: | ||
| try { | try { | ||
| | | ||
| - | new FileOutputStream(" | + | new FileOutputStream(" |
| | | ||
| | | ||
| Line 114: | Line 114: | ||
| | | ||
| | | ||
| - | | + | |
| }catch(IOException ex) { | }catch(IOException ex) { | ||
| | | ||
| Line 124: | Line 124: | ||
| Μεταγλωττίστε και τρέξτε το πρόγραμμα και επιβεβαιώστε ότι δημιουργήθηκε το αρχείο **employees.ser**. | Μεταγλωττίστε και τρέξτε το πρόγραμμα και επιβεβαιώστε ότι δημιουργήθηκε το αρχείο **employees.ser**. | ||
| - | ===== Παράδειγμα | + | ===== Deserialization ===== |
| Ας υποθέσουμε ότι αφού αποθηκεύσαμε τα αντικείμενα στο αρχείο **employees.ser** θέλουμε να τα ανακτήσουμε ως λειτουργικά αντικείμενα σε ένα νέο πρόγραμμα. Ας δούμε το πρόγραμμα αυτό, το οποίο εκτυπώνει το περιεχόμενο τους με την βοήθεια της μεθόδου toString(). | Ας υποθέσουμε ότι αφού αποθηκεύσαμε τα αντικείμενα στο αρχείο **employees.ser** θέλουμε να τα ανακτήσουμε ως λειτουργικά αντικείμενα σε ένα νέο πρόγραμμα. Ας δούμε το πρόγραμμα αυτό, το οποίο εκτυπώνει το περιεχόμενο τους με την βοήθεια της μεθόδου toString(). | ||
| Line 193: | Line 193: | ||
| } | } | ||
| </ | </ | ||
| - | |||
| |Προηγούμενο: | |Προηγούμενο: | ||
java/object_serialization.1583742185.txt.gz · Last modified: 2020/03/09 08:23 (external edit)
