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)