• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 18, 2025, 16:30:10 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 18, 2025, 16:30:10 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
H Στοά των Off Topic
by Nikos_313
[Today at 08:53:31]

[Μεταφορά και Διανομή ΗΕ]...
by tzortzis
[Today at 07:55:05]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 00:45:33]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 17, 2025, 21:32:50 pm]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[June 17, 2025, 21:25:42 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[June 17, 2025, 20:59:13 pm]

[Γραφική] Λυμένα θέματα
by okanpala
[June 17, 2025, 18:56:22 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 17, 2025, 14:25:00 pm]

Αντικατάστασης πυκνωτή σε...
by george14
[June 17, 2025, 13:58:20 pm]

Πότε θα βγει το μάθημα; -...
by tzortzis
[June 17, 2025, 13:19:53 pm]

Αποτελέσματα Εξεταστικής ...
by george14
[June 17, 2025, 12:08:25 pm]

[ΨEE] Γενικές απορίες και...
by Juror8
[June 17, 2025, 12:06:57 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]
Στατιστικά
Members
Total Members: 9965
Latest: Poli
Stats
Total Posts: 1426712
Total Topics: 31711
Online Today: 231
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 74
Guests: 104
Total: 178
nick_slendy
johnderme5
valentini
dimitris_nisi
maria.r
ptranis
Ast
Billyskotsikas
dimitris585
Mitousis
Nikos_313
dem05
thanosk
rspappas
anon
Κaraflodaimonas
DLHERRO
Tsomp
johnnypap
stavros0201
Anonikos
asemas
statiris
ArchieHadCells
PrincessConsuela
sassi
Giannis_Kako
Mr Watson
Tserk
evax
Agnotobouri
prizas
al3xts
marilita
Soto Gonzalez
mikrosdia
KZerenidis
mariajuana
ismini.h
sunagrida
Xontroulis
JustPK
d0xa
triligouras
vlasiosv
plapas
Lykaonia
matrozos
rafa98p
jimalexoud
alexiosmara
mike1996
Potest
ariadnipm
evangeliaap
angelos
marnas
boulionis
gkaramp
summersunshine
stavrosk
varvoutis
aafroditi
nikos_matall
stergiosb
kostas.13v
Domnious
Haralampos
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Συμβουλές καλής χρήσης του φόρουμ: Youtube embed code and links, Shoutbox, Notify, ...
Δείτε περισσότερα εδώ...
THMMY.gr > Forum > Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα > Περί Υπολογιστών... > Software > Προγραμματισμός (C, VB, Delphi, PHP, ASP...) > Java (Moderators: chatzikys, PolarBear) > [java] Αποθήκευση αντικειμένων για χρήση αργότερα.
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: [java] Αποθήκευση αντικειμένων για χρήση αργότερα.  (Read 1633 times)
Turambar
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 20652

μη νοιάζεσαι


View Profile
[java] Αποθήκευση αντικειμένων για χρήση αργότερα.
« on: January 08, 2010, 19:46:38 pm »

Υπάρχει τρόπος να αποθηκεύσεις αντικείμενα, σε κάποιο αρχείο πχ, για να τα πάρεις αργότερα.

Αυτό που θέλω να κάνω, χωρίς να μπλέξω με βάσεις δεδομένων, είναι να σώζω τα instances των αντικειμένων όταν τελειώνει η εφαρμογή, και όταν ξαναρχίζει, να αναζητά αν υπάρχουν τα αποθηκευμένα, και τότε να τα φορτώνει.


Ξέρει κανείς κάτι?
Logged

byeeee
alekos
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1300


είδος προς εξαφάνιση...


View Profile
Re: [java] Αποθήκευση αντικειμένων για χρήση αργότερα.
« Reply #1 on: January 08, 2010, 20:48:15 pm »

Αν μπορείς γίνε λίγο πιο συγκεκριμένος

Από οτι κατάλαβα έχεις μια δομή με δεδομένα και θέλεις να την αποθηκεύσεις για χρήση αργότερα.
Ένας τρόπος ειδικά αν δεν θέλεις να μπλέξεις με βάσεις είναι να χρησιμοποιήσεις xml αρχεία.
Πάντως σκέψου και την λύση της Java DB http://developers.sun.com/javadb/  που είναι ενσωματωμένη στην SE της Java
Logged

    shumacher=showmacher      
   Τώρα που πλάκωσαν οι μπάτσοι του inet ορίστε η λύση https://xerobank.com/ και http://www.torproject.org/
digitally cursed
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 237


View Profile
Re: [java] Αποθήκευση αντικειμένων για χρήση αργότερα.
« Reply #2 on: January 08, 2010, 21:01:47 pm »

Μπορεις να χρησιμοποιήσεις το yaml. Ειναι πολυ βολικο σε ruby και απο οπου το ξερω. Για java δεν ξερω αν ειναι τόσο γερό.
http://jyaml.sourceforge.net/tutorial.html
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [java] Αποθήκευση αντικειμένων για χρήση αργότερα.
« Reply #3 on: January 08, 2010, 21:24:23 pm »

Η Java έχει εντολές ειδικά γιαυτή τη λειτουργία

Είναι το λεγόμενο serialization και deserialization , όπου τα αντικείμενα αποθηκεύονται και ανακτώνται με αρχεία τύπου .ser

Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [java] Αποθήκευση αντικειμένων για χρήση αργότερα.
« Reply #4 on: January 08, 2010, 21:34:34 pm »

Παράδειγμα σε γενικές γραμμές

Έστω θέλεις να αποθηκεύσεις το αντικείμενο object1 τύπου MyClass

FileOutputStream fileStream = new FileOutputStream ( "MyObject.ser" );      // φτιάχνεις μια σύνδεση με αρχείο

ObjectOutputStream os = new ObjectOutputStream( fileStream );    // Το ObjectOutputStream χρησιμοποιείται για εγγραφή αντικειμένων, αλλά δε

                                                                                                  // μπορεί να συνδεθεί απευθείας με αρχείο ( γιαυτό χρησιμοποιεί το fileStream )

os.writeObject(object1);

os.close();


Και η αντίστροφη διαδικασία (ανάγνωση) :

FileInputStream fileStream = new FileInputStream( "MyObject.ser");

ObjectInputStream os = new ObjectInputStream(fileStream);

Object one = os.readObject();   // τα αντικείμενα τα διαβάζει με τη σειρά που αποθηκεύτηκαν

MyClass newOne = (MyClass) one;  // κάνεις cast

os.close();


Για να μπορείς να αποθηκεύσεις το αντικείμενο η κλάση του πρέπει να κάνει implement το interface "Serializable"

edit : Μέσα σε try-catch αυτά γιατί πετάνε exceptions
« Last Edit: January 08, 2010, 21:49:57 pm by Emfanever » Logged
Turambar
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 20652

μη νοιάζεσαι


View Profile
Re: [java] Αποθήκευση αντικειμένων για χρήση αργότερα.
« Reply #5 on: January 09, 2010, 06:49:09 am »

Ω σε ευχαριστώ εμφανέβερ...

Η έρευνα μου στο νετ δεν με οδήγησε σε κάτι τόσο απλό και είχα αρχίσει να ανησυχώ ότι δεν θα υπήρχε κάτι τόσο όμορφο.


Και αν δεν κάνω λάθος αυτό θα αποθηκεύει όλες τις instances e?

Groovy... όπως ακριβώς το ήθελα. Ίσως και λίγο καλύτερo από το καλύτερο που ήλπιζα να βρω Cheesy
Logged

byeeee
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [java] Αποθήκευση αντικειμένων για χρήση αργότερα.
« Reply #6 on: January 09, 2010, 12:14:09 pm »

Αν πχ το συγκεκριμένο αντικείμενο που θέλεις να κάνεις serialize, έχει σαν variable ένα άλλο αντικείμενο και αυτό με τη σειρά του ένα άλλο αντικείμενο,  τα αντικείμενα αυτά αποθηκεύονται αυτόματα.

Αλλά πρέπει και αυτά να κάνουν implement το interface Serializable , αλλιώς θα σου βγάλει σφάλμα

Τώρα αν εσύ δε θέλεις να αποθηκεύσεις μια συγκεκριμένη instance variable του αντικειμένου ή δε γίνεται να την αποθηκεύσεις επειδή δεν είναι Serializable θα βάλεις μπροστά τη δεσμευμένη λέξη transient (και η μεταβλητή θα πάρει την default τιμή )

Και τέλος όταν κάνεις deserialize,όπως είναι λογικό, οι constructors δεν τρέχουν


Logged
Turambar
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 20652

μη νοιάζεσαι


View Profile
Re: [java] Αποθήκευση αντικειμένων για χρήση αργότερα.
« Reply #7 on: January 09, 2010, 20:51:56 pm »

Όχι όχι, τα instances θέλω...

Θέλω να φτιάχνω αντικείμενα με συγκεκριμένες τιμές το καθένα, και να τα έχω, όταν ξανανοίγω την εφαρμογή.

Wink
« Last Edit: January 09, 2010, 21:05:47 pm by Turambar » Logged

byeeee
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [java] Αποθήκευση αντικειμένων για χρήση αργότερα.
« Reply #8 on: January 09, 2010, 21:20:56 pm »

ναι έτσι γίνεται

το object1 στο παραπάνω παράδειγμα είναι instance της κλάσης MyClass με συγκεκριμένες τιμές στις μεταβλητές του.
Όταν το αποθηκεύεις, αποθηκεύται στην κατάσταση που βρίσκεται εκείνη τη στιγμή.

όταν ξανανοίξεις την εφαρμογή και διαβάσεις το αντικείμενο, θα έχει τις τιμές που είχε όταν το αποθήκευσες

δε ξέρω αν εννοείς κάτι άλλο και δεν το κατάλαβα  Undecided
Logged
Pages: [1] Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...