Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
|
|
- Τιτάνια Αλεβίζος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 7η: 12/04/2006 & 13/04/2006 1
2 Είσοδος/Έξοδος σε αρχεία File I/O 2
3 Ρεύµατα - Streams Ένα ρεύµα (stream) είναι ένα αντικείµενο το οποίο επιτρέπει τη ροή δεδοµένων µεταξύ ενός προγράµµατος και κάποιας συσκευής εισόδου/εξόδου ή αρχείου Εάν τα δεδοµένα ρέουν προς το πρόγραµµα, τότε το ρεύµα λέγεται ρεύµα εισόδου (input stream) Εάν τα δεδοµένα ρέουν από το πρόγραµµα, τότε το ρεύµα λέγεται ρεύµα εξόδου(output stream) 3
4 Ρεύµατα - Streams Τα ρεύµατα εισόδου µπορεί να ρέουν από το πληκτρολόγιο ή από κάποιο αρχείο System.in είναι ένα ρεύµα εισόδου που συνδέεται στο πληκτρολόγιο Scanner keyboard = new Scanner(System.in); Τα ρεύµατα εξόδου µπορεί να ρέουν προς την οθόνη ή προς κάποιο αρχείο System.out είναι ένα ρεύµα εξόδου που συνδέεται στην οθόνη System.out.println("Output stream"); 4
5 Αρχεία κειµένου και υαδικά αρχεία Τα αρχεία που σχεδιάζονται για ανάγνωση από ανθρώπους, και µπορούν να διαβαστούν ή να γραφούν µε έναν συντάκτη κειµένου (editor) αποκαλούνται αρχεία κειµένου (text files) Τα αρχεία κειµένου αποκαλούνται επίσης ASCII αρχεία, επειδή τα δεδοµένα που περιέχουν είναι κωδικοποιηµένα µε ASCII σχήµα κωδικοποίησης Ένα πλεονέκτηµα τωναρχείωνκειµένου είναι ότι συνήθως είναι τα ίδια σε όλους τους υπολογιστές, και έτσι µπορούν να τα µετακινούµε από υπολογιστή σε υπολογιστή χωρίς προβλήµατα συµβατότητας 5
6 Αρχεία κειµένου και υαδικά αρχεία Τα αρχεία που σχεδιάζονται προς ανάγνωση από προγράµµατα και αποτελούνται από ακολουθίες δυαδικών ψηφίων αποκαλούνται δυαδικά αρχεία (binary files) Τα δυαδικά αρχεία σχεδιάζονται να αναγνωστούν από τον ίδιο τύπο υπολογιστή και την ίδια γλώσσα προγραµµατισµού µε την οποία δηµιουργήθηκε το αρχείο Ένα πλεονέκτηµα των δυαδικών αρχείων είναι ότι παρέχουν πιο αποδοτικό τρόπο επεξεργασίας από ότι τα αρχεία κειµένου ιαφορετικά από ότι στα περισσότερα δυαδικά αρχεία, τα δυαδικά αρχεία στη Java έχουν επιπλέον το πλεονέκτηµα ότι είναι ανεξάρτητα από την πλατφόρµα όπου δηµιουργήθηκαν 6
7 Γράφοντας σε ένα αρχείο κειµένου ΗκλάσηPrintWriter είναι µια κλάση ρεύµατος που µπορεί να χρησιµοποιηθεί για να γράψουµεσεένααρχείοκειµένου Κάθε αντικείµενο της κλάσης PrintWriter έχει τις µεθόδους print και println Αυτές είναι παρόµοιες µε τις αντίστοιχες µεθόδους του αντικειµένου System.out, αλλά χρησιµοποιούνται για έξοδο σε αρχείο κειµένου, και όχι για έξοδο στην οθόνη 7
8 Γράφοντας σε ένα αρχείο κειµένου Όλες οι κλάσεις για I/O σε αρχείο που περιγράφουµε παρακάτω περιέχονται στο package java.io, και έτσι ένα πρόγραµµα που χρησιµοποιεί την PrintWriter πρέπει να ξεκινά µε ένα σύνολο δηλώσεων import: import java.io.printwriter; import java.io.fileoutputstream; import java.io.filenotfoundexception; ΗκλάσηPrintWriter δεν έχει constructor που δέχεται ως όρισµα τοόνοµα κάποιου αρχείου ως όρισµά του Χρησιµοποιεί µια άλλη κλάση, την FileOutputStream, για να µετατρέψει το όνοµα ενός αρχείου σε αντικείµενοτοοποίοµπορεί να χρησιµοποιηθεί ως όρισµα στονconstructor PrintWriter 8
9 Γράφοντας σε ένα αρχείο κειµένου Ένα ρεύµα της κλάσης PrintWriter δηµιουργείται και συνδέεται σε ένα αρχείο κειµένου για εγγραφή ως εξής: PrintWriter outputstreamname; outputstreamname = new PrintWriter(new FileOutputStream(FileName)); ΗκλάσηFileOutputStream δέχεται ως όρισµαέναstring που αναπαριστά το όνοµααρχείου ΗκλάσηPrintWriter δέχεται ως όρισµατοανώνυµο αντικείµενο τύπου FileOutputStream 9
10 Γράφοντας σε ένα αρχείο κειµένου Αυτό παράγει ένα αντικείµενο της κλάσης PrintWriter το οποίο συνδέεται µετοαρχείο FileName Η διαδικασία σύνδεσης ενός ρεύµατος σε ένα αρχείο αποκαλείται άνοιγµα του αρχείου (opening the file) Εάντοαρχείουπάρχειήδη, τότε η παραπάνω διαδικασία έχει ως αποτέλεσµα ναχαθούντα προηγούµενα δεδοµένα του αρχείου Εάντοαρχείοδενυπάρχει, τότε δηµιουργείται ένα νέο, κενό αρχείο µε όνοµα FileName Μετά από αυτό, οι µέθοδοι print και println µπορούν να χρησιµοποιηθούν για να γράψουµε στο αρχείο 10
11 Γράφοντας σε ένα αρχείο κειµένου Όταν ένα αρχείο κειµένου ανοίγει µε τον τρόπο αυτό, µπορεί να πεταχτεί µια εξαίρεση FileNotFoundException Αυτό πρακτικά σηµαίνει ότι το αρχείο δεν µπόρεσε να δηµιουργηθεί Αυτός ο τύπος της εξαίρεσης µπορεί επίσης να πεταχτεί όταν ένα πρόγραµµα επιχειρεί να ανοίξει ένα αρχείο για ανάγνωση όταν το αρχείο αυτό δεν υπάρχει Εποµένως είναι απαραίτητο να περικλείουµε αυτόν τον κώδικα σε µπλοκ διαχείρισης εξαιρέσεων Το αρχείο θα µπορούσε να ανοιχτεί µέσα στο µπλοκ try Το µπλοκ catch θα µπορούσε να πιάσει και να διαχειριστεί µια πιθανή εξαίρεση Η µεταβλητή που αναφέρεται στο αντικείµενο PrintWriter θα πρέπει να δηλώνεται εκτός του µπλοκ (και να αρχικοποιείται σε null) έτσι ώστε να µην είναι τοπική στο µπλοκ 11
12 Γράφοντας σε ένα αρχείο κειµένου Όταν τερµατίζεται ένα πρόγραµµαπουγράφεισε αρχείο, θα πρέπει πάντα να κλείνει το ρεύµαπου είναι συνδεδεµένο στο αρχείο outputstreamname.close(); Αυτό επιτρέπει στο σύστηµα να απελευθερώσει τους πόρους που χρησιµοποιούνται για να συνδεθεί το ρεύµα στοαρχείο Εάν το πρόγραµµα δεν κλείσει το αρχείο πριν τερµατιστεί, η Java θα το κλείσει αυτόµατα, αλλά είναι ασφαλέστερο να το κλείνουµε ρητά 12
13 Γράφοντας σε ένα αρχείο κειµένου Τα ρεύµατα εξόδου που συνδέονται σε αρχεία είναι συνήθως buffered Αντί να γράφουµε άµεσα (physically) στοαρχείοτο συντοµότερο δυνατό, τα δεδοµένα αποθηκεύονται προσωρινά σε µια τοποθεσία, τον επονοµαζόµενο buffer Όταν συσσωρευτούν αρκετά δεδοµένα, ήόταν ενεργοποιηθεί η µέθοδος flush, τα δεδοµένα στον buffer γράφονται όλα στο αρχείο Αυτό είναι πιο αποδοτικό, αφού οι άµεσες (χωρίς buffer) εγγραφές σε αρχείο είναι πιο αργές 13
14 Γράφοντας σε ένα αρχείο κειµένου Η µέθοδος close ενεργοποιεί τη µέθοδο flush, και έτσι υπάρχει εγγύηση ότι όλα τα δεδοµέναθαεγγραφούνστοαρχείοπριναυτό κλείσει Εάν ένα πρόγραµµα βασίζεταιστηjava για να κλείσει αυτόµατα το αρχείο, και το πρόγραµµα τερµατιστεί µη κανονικά, τότε όσα δεδοµένα εξόδου υπήρχαν στον buffer ίσως δεν εγγραφούν στο αρχείο Επίσης, εάν ένα πρόγραµµα γράφει σε ένα αρχείο και αργότερα ξανανοίξει για ανάγνωση το ίδιο αρχείο, θα πρέπει πρώτα να το έχει κλείσει Όσο συντοµότερα κλείσει ένα αρχείο αφού έχουµε γράψει σε αυτό, τόσο µικρότερη η πιθανότητα να δηµιουργηθεί κάποιο πρόβληµα 14
15 Ονόµατα αρχείων Οι κανόνες ονοµατολογία των αρχείων εξαρτώνται από το Λειτουργικό Σύστηµα, και όχι από τη Java Όταν το όνοµα ενός αρχείο δίνεται σε ένα java constructor για ένα ρεύµα, είναι απλά ένα string, και όχι ένας Java identifier (π.χ., "filename.txt") Τα επιθέµατα που χρησιµοποιούνται, όπως το.txt δεν έχουν ιδιαίτερη έννοια για ένα Java πρόγραµµα 15
16 Κάθε αρχείο έχει δυο ονόµατα Κάθε αρχείο εισόδου και αρχείο εξόδου που χρησιµοποιεί ένα πρόγραµµαέχειδυοονόµατα: 1. Το πραγµατικό όνοµα αρχείου που χρησιµοποιείται από το λειτουργικό σύστηµα 2. Το όνοµα του ρεύµατος που συνδέεται στο αρχείο Το πραγµατικό όνοµαχρησιµοποιείται για να γίνει η σύνδεση στο ρεύµα Το όνοµατουρεύµατος εξυπηρετεί ως προσωρινό όνοµα για το αρχείο, και είναι το όνοµαπουκυρίωςχρησιµοποιείται µέσα στο πρόγραµµα 16
17 IOException Όταν εκτελούµε I/O µε αρχεία υπάρχουν πολλές καταστάσεις στις οποίες µπορεί να πεταχτεί µια εξαίρεση, όπως η FileNotFoundException Πολλές από αυτές τις κλάσεις εξαιρέσεων είναι υποκλάσεις της κλάσης IOException ΗκλάσηIOException είναι η ριζική κλάση για µια ποικιλία κλάσεων εξαιρέσεων που σχετίζονται µε την είσοδο/έξοδο Αυτές οι κλάσεις εξαιρέσεων είναι όλες checked exceptions Εποµένως, πρέπει είτε να πιαστούν είτε να δηλωθούν σε µια δήλωση throws 17
18 Unchecked Exceptions Σε αντιδιαστολή, οι κλάσεις εξαιρέσεων NoSuchElementException, InputMismatchException, και IllegalStateException είναι όλες unchecked exceptions Οι unchecked exceptions δεν απαιτείται να πιαστούν ή να δηλωθούν µε µια δήλωση throws 18
19 Παγίδα : ένα µπλοκ try είναι µπλοκ Αφού η προσπάθεια ανοίγµατος ενός αρχείου, µπορεί να έχει ως αποτέλεσµα να πεταχτεί µια εξαίρεση, θα πρέπει να τοποθετείται µέσα σε ένα µπλοκ try Εάν η µεταβλητή για ένα αντικείµενο PrintWriter πρέπει να χρησιµοποιηθεί εκτός του µπλοκ αυτού, τότε η µεταβλητή πρέπει (προφανώς) να δηλωθεί εκτός του µπλοκ ιαφορετικά θα ήταν τοπική στο µπλοκ, και δεν θα µπορούσε να χρησιµοποιηθεί πουθενά αλλού Εάν δηλωνόταν µέσα στο µπλοκ και χρησιµοποιούνταν κάπου αλλού, ο compiler θα έδινε ένα µήνυµα λάθους για undefined identifier 19
20 Προσθήκη στο τέλος (append) ενός αρχείου κειµένου Γιαναδηµιουργήσουµε ένα αντικείµενο PrintWriter και να το συνδέσουµεσεένα αρχείο κειµένου για προσθήκη στο τέλος (appending), ένα δεύτερο όρισµα, που τίθεται στην τιµή true, πρέπει να χρησιµοποιηθεί στον constructor του αντικειµένου FileOutputStream outputstreamname = new PrintWriter(new FileOutputStream(FileName, true)); Μετά τη δήλωση αυτή, οι µέθοδοι print, println και/ή printf µπορεί να χρησιµοποιηθούν για να γράψουµε στοαρχείο Το νέο κείµενο θα γραφεί µετά το παλιό κείµενο στο αρχείο 20
21 Η µέθοδος tostring βοηθά στην έξοδο σε αρχείο κειµένου Εάν µια κλάση έχει κατάλληλη µέθοδο tostring(), και το anobject είναι ένα αντικείµενο της κλάσης αυτής, τότε το anobject µπορεί να χρησιµοποιηθεί ως όρισµα στο System.out.println, και θα παράξει κάποια έξοδο Το ίδιο ισχύει και µε τιςµεθόδους print και println της κλάσης PrintWriter outputstreamname.println(anobject); 21
22 Μέθοδοι της κλάσης PrintWriter (1/3) 22
23 Μέθοδοι της κλάσης PrintWriter (2/3) 23
24 Μέθοδοι της κλάσης PrintWriter (3/3) 24
25 ιαβάζοντας από ένα αρχείο κειµένου µε τη Scanner ΗκλάσηScanner µπορεί να χρησιµοποιηθεί για να διαβάσουµε από το πληκτρολόγιο καθώς επίσης και για να διαβάσουµε από ένα αρχείο κειµένου Απλά αντικαθιστούµετοόρισµα System.in (στον constructor της Scanner) µε ένα κατάλληλο ρεύµα που είναι συνδεδεµένο σε ένα αρχείο κειµένου Scanner StreamObject = new Scanner(new FileInputStream(FileName)); Οι µέθοδοι της κλάσης Scanner για ανάγνωση συµπεριφέρονται µε τον ίδιο τρόπο ανεξάρτητα εάν διαβάζουν από το πληκτρολόγιο ή από ένα αρχείο κειµένου Για παράδειγµα, οι µέθοδοι nextint και nextline 25
26 ιαβάζοντας από ένα αρχείο κειµένου µε τη Scanner (1/4) 26
27 ιαβάζοντας από ένα αρχείο κειµένου µε τη Scanner (2/4) 27
28 ιαβάζοντας από ένα αρχείο κειµένου µε τη Scanner (3/4) 28
29 ιαβάζοντας από ένα αρχείο κειµένου µε τη Scanner (4/4) 29
30 Ελέγχοντας για το τέλος αρχείου κειµένου µε τη Scanner Ένα πρόγραµµαπουπροσπαθείναδιαβάσειπέρα από το τέλος ενός αρχείου χρησιµοποιώντας µεθόδους της κλάσης Scanner θα έχει ως αποτέλεσµα να πεταχτεί µια εξαίρεση Όµως, αντί να βασιζόµαστε στο µηχανισµότων εξαιρέσεων για να σηµατοδοτήσουν το τέλος αρχείου, ηκλάσηscanner παρέχει µεθόδους όπως την hasnextint και τη hasnextline Αυτές οι µέθοδοι µπορούν επίσης να χρησιµοποιηθούν για να ελέγξουν εάν το επόµενο token της εισόδου είναι στοιχείο εισόδου µε κατάλληλο τύπο 30
31 Ελέγχοντας για το τέλος αρχείου κειµένου µε τη hasnextline (1/4) 31
32 Ελέγχοντας για το τέλος αρχείου κειµένου µε τη hasnextline (2/4) 32
33 Ελέγχοντας για το τέλος αρχείου κειµένου µε τη hasnextline (3/4) 33
34 Ελέγχοντας για το τέλος αρχείου κειµένου µε τη hasnextline (4/4) 34
35 Ελέγχοντας για το τέλος αρχείου κειµένου µε τη hasnextint (1/2) 35
36 Ελέγχοντας για το τέλος αρχείου κειµένου µε τη hasnextint (2/2) 36
37 Μέθοδοι της κλάσης Scanner (1/11) 37
38 Μέθοδοι της κλάσης Scanner (2/11) 38
39 Μέθοδοι της κλάσης Scanner (3/11) 39
40 Μέθοδοι της κλάσης Scanner (4/11) 40
41 Μέθοδοι της κλάσης Scanner (5/11) 41
42 Μέθοδοι της κλάσης Scanner (6/11) 42
43 Μέθοδοι της κλάσης Scanner (7/11) 43
44 Μέθοδοι της κλάσης Scanner (8/11) 44
45 Μέθοδοι της κλάσης Scanner (9/11) 45
46 Μέθοδοι της κλάσης Scanner (10/11) 46
47 Μέθοδοι της κλάσης Scanner (11/11) 47
48 ιαβάζοντας από αρχείο κειµένου µε τη BufferedReader ΗκλάσηBufferedReader είναι ένα ρεύµα για ανάγνωση από αρχείο κειµένου Ένα αντικείµενο της κλάσης BufferedReader έχει τις µεθόδους read και readline Ένα πρόγραµµα που χρησιµοποιεί την BufferedReader, όπως και µε τηνprintwriter, χρειάζεται κάποιες δηλώσεις import: import java.io.bufferedreader; import java.io.filereader; import java.io.filenotfoundexception; import java.io.ioexception; 48
49 ιαβάζοντας από αρχείο κειµένου µε τη BufferedReader Όπως και οι κλάσεις PrintWriter και Scanner, η BufferedReader δεν έχει constructor που δέχεται ως όρισµα τοόνοµα ενόςαρχείου Χρειάζεται µια άλλη κλάση, την FileReader, για να µετατρέψει το όνοµα αρχείου σε ένα αντικείµενο το οποίο µπορεί να χρησιµοποιηθεί ως όρισµα στονconstructor της BufferedReader Ένα ρεύµα τηςκλάσηςbufferedreader δηµιουργείται και συνδέεται µε ένα αρχείο κειµένου ως εξής: BufferedReader readerobject; readerobject = new BufferedReader(new FileReader(FileName)); Αυτό ανοίγει το αρχείο για διάβασµα 49
50 ιαβάζοντας από αρχείο κειµένου Μετά από αυτές τις δηλώσεις, οι µέθοδοι read και readline µπορούν να χρησιµοποιηθούν, για ανάγνωση από το αρχείο Η µέθοδος readline είναι η ίδια µέθοδος που χρησιµοποιείται για ανάγνωση από το πληκτρολόγιο, αλλά στην περίπτωση αυτή θα διαβάζει από αρχείο Η µέθοδος read διαβάζει έναν µόνο χαρακτήρα, και επιστρέφει µια τιµή (τύπου int) που αντιστοιχεί στον χαρακτήρα που διαβάστηκε Αφού η µέθοδος read δεν επιστρέφει τον χαρακτήρα ακριβώς, πρέπει να χρησιµοποιηθεί type cast: char next = (char)(readerobject.read()); 50
51 ιαβάζοντας από αρχείο κειµένου µε τη BufferedReader (1/3) 51
52 ιαβάζοντας από αρχείο κειµένου µε τη BufferedReader (2/3) 52
53 ιαβάζοντας από αρχείο κειµένου µε τη BufferedReader (3/3) 53
54 ιαβάζοντας από αρχείο κειµένου Ένα πρόγραµµα που χρησιµοποιεί ένα αντικείµενο BufferedReader µε τοντρόπο αυτό µπορεί να πετάξει δυο τύπους εξαιρέσεων Απόπειρα ανοίγµατος του αρχείου µπορεί να πετάξει µια FileNotFoundException (µε την αναµενόµενη σηµασία) Ενεργοποίηση της readline µπορεί να πετάξει µια IOException Και τις δυο αυτές εξαιρέσεις πρέπει να τις χειριστούµε 54
55 Μέθοδοι της κλάσης BufferedReader (1/2) 55
56 Μέθοδοι της κλάσης BufferedReader (2/2) 56
57 ιαβάζοντας αριθµούς ιαφορετικά από την κλάση Scanner, η κλάση BufferedReader δεν έχει µεθόδους για να διαβάζει έναν αριθµό από το αρχείο κειµένου Αντί γι αυτό, οαριθµός πρέπει να διαβαστεί ως αλφαριθµητικό, και µετά να µετατραπεί σε µια τιµή του κατάλληλου τύπου χρησιµοποιώντας µια από τις wrapper κλάσεις Για να διαβάσουµε ένανµόνο αριθµό που καταλαµβάνει µια γραµµή από µόνος του, πρώτα χρησιµοποιούµε τη µέθοδο readline, και κατόπιν την Integer.parseInt, Double.parseDouble, κ.τ.λ., για να µετατρέψουµε το αλφαριθµητικό σε αριθµό Εάνυπάρχουνπολλοίαριθµοί σε µια γραµµή, µπορούµε να χρησιµοποιήσουµε τη StringTokenizer για να αποσυνθέσουµε το αλφαριθµητικό σε tokens, και κατόπιν να µετατρέψουµε τα tokens όπως περιγράψαµε πιοπάνω 57
58 Ελέγχοντας για το τέλος αρχείου κειµένου Η µέθοδος readline της κλάσης BufferedReader επιστρέφει null όταν προσπαθήσει να διαβάσει πέρα από το τέλος του αρχείου κειµένου Ένα πρόγραµµα µπορεί να ελέγξει για το τέλος αρχείου ελέγχοντας για null όταν χρησιµοποιεί τη readline Η µέθοδος read της κλάσης BufferedReader επιστρέφει -1 όταν προσπαθεί να διαβάσει πέρα από το τέλος του αρχείου κειµένου Ένα πρόγραµµα µπορεί να ελέγξει για το τέλος αρχείου ελέγχοντας για την τιµή -1 όταν χρησιµοποιεί τη read 58
59 Ονόµατα µονοπατιών Όταν το όνοµα ενός αρχείου πρέπει να χρησιµοποιηθεί ως όρισµα για να ανοίξουµε το αρχείο, υποτίθεται ότι το αρχείο είναι στον ίδιο κατάλογο µε αυτόν στον οποίο εκτελείται το πρόγραµµα Εάν δεν είναι στον ίδιο κατάλογο, πρέπει να χρησιµοποιηθεί το πλήρες ή το σχετικό µονοπάτι 59
60 Ονόµατα µονοπατιών Το όνοµα µονοπατιού (path name) δεν δίνει απλώς το όνοµα του αρχείου, αλλά και τον κατάλογο όπου βρίσκεται το αρχείο Το όνοµα πλήρους µονοπατιού (full path name) δίνει το πλήρες µονοπάτι, αρχίζοντας από τον ριζικό κατάλογο Το όνοµα σχετικού µονοπατιού (relative path name) δίνει το µονοπάτι για ένα αρχείο, αρχίζοντας από τον τρέχοντα κατάλογο όπου εκτελείται το πρόγραµµα 60
61 Ονόµατα µονοπατιών Ο τρόπος µε τον οποίο καθορίζουµε τα ονόµατα εξαρτάται από το λειτουργικό σύστηµα Ένα τυπικό όνοµα µονοπατιού σε UNIX που θα µπορούσαµε ναχρησιµοποιήσουµε ωςόρισµα είναι "/user/sallyz/data/data.txt" Ένα BufferedReader ρεύµα εισόδου συνδεδεµένο στο αρχείο αυτό δηµιουργείται ως εξής: BufferedReader inputstream = new BufferedReader(new FileReader("/user/sallyz/data/data.txt")); 61
62 Ονόµατα µονοπατιών Το λειτουργικό σύστηµα Windows καθορίζει τα ονόµατα µονοπατιών µε διαφορετικό τρόπο Ένα τυπικό όνοµα µονοπατιού στα Windows είναι το ακόλουθο: C:\dataFiles\goodData\data.txt Ένα ρεύµα εισόδου BufferedReader που συνδέεται µε αυτότοαρχείοδηµιουργείται ως εξής: BufferedReader inputstream = new BufferedReader(new FileReader ("C:\\dataFiles\\goodData\\data.txt")); Σηµειώστε ότι στα Windows πρέπει να χρησιµοποιηθεί το \\ αντί του \, αφού ένα µονό backslash συµβολίζει την αρχή ενός escape χαρακτήρα 62
63 Ονόµατα µονοπατιών Το διπλό backslash (\\) πρέπει να χρησιµοποιείται για το όνοµα ενός µονοπατιού στα Windows που περικλείεται σε quoted string Αυτό το πρόβληµα δεν παρουσιάζεται όταν διαβάζουµε ονόµατα µονοπατιών από το πληκτρολόγιο Τα προβλήµατα µε τους χαρακτήρες escape µπορούν να αποφευχθούν εάν χρησιµοποιούµε τις συµβάσεις του UNIX όταν γράφουµε ονόµατα µονοπατιών Ένα πρόγραµµα σεjava θα δεχτεί το όνοµα ενός µονοπατιού είτε είναι γραµµένο σε µορφή Windows είτε σε µορφή Unix ανεξάρτητα από το λειτουργικό σύστηµα όπου εκτελείται 63
64 Φωλιασµένες κλήσεις constructor Κάθε µια από τις κλάσεις για I/O στη Java υπηρετεί µόνο µια συνάρτηση, ή έναν περιορισµένο αριθµό συναρτήσεων Κανονικά δυο ή περισσότεροι constructors διαφορετικών κλάσεων συνδυάζονται για να αποκτηθεί πλήρης λειτουργικότητα Εποµένως, εκφράσεις µε δυο constructors είναι συνηθισµένες όταν χειριζόµαστε κλάσεις I/O στη Java 64
65 Φωλιασµένες κλήσεις constructor new BufferedReader(new FileReader("stuff.txt")) Πάνω, το ανώνυµο αντικείµενο FileReader εγκαθιστά µια σύνδεση µετοαρχείο stuff.txt Όµως, παρέχει µόνο απλοϊκές µεθόδους για είσοδο Ο constructor της BufferedReader δέχεται ως όρισµα τοαντικείµενο FileReader και προσθέτει µια πλουσιότερη συλλογή µεθόδων για είσοδο Αυτό µετατρέπει το εσωτερικό αντικείµενο σε µια instance variable του εξωτερικού αντικειµένου 65
66 System.in, System.out, και System.err Τα standard ρεύµατα System.in, System.out, και System.err είναι αυτόµατα διαθέσιµα σεκάθε πρόγραµµα Java System.out χρησιµοποιείται για τη συνήθη έξοδο στην οθόνη System.err χρησιµοποιείται για την έξοδο των µηνυµάτων σφάλµατος στην οθόνη ΗκλάσηSystem παρέχει τρεις µεθόδους (setin, setout, και seterr) για ανακατεύθυνση αυτών των standard ρευµάτων: public static void setin(inputstream instream) public static void setout(printstream outstream) public static void seterr(printstream outstream) 66
67 System.in, System.out, και System.err Χρησιµοποιώντας αυτές τις µεθόδους, οποιοδήποτε από τα τρία standard ρεύµατα µπορούν να ανακατευθυνθούν Για παράδειγµα, αντί να εµφανίζονται στην οθόνη, τα µηνύµατα σφάλµατος θα µπορούσαν να ανακατευθυνθούν σε ένα αρχείο Γιαναανακατευθύνουµε έναstandard ρεύµα, δηµιουργούµε ένανέορεύµα Όπως και τα άλλα ρεύµατα που δηµιουργούνται σε ένα πρόγραµµα, ένα αντικείµενο ρεύµατος που χρησιµοποιήθηκε για ανακατεύθυνση πρέπει να κλείσει µετά το πέρας της I/O Σηµειώστε, ότι τα standard ρεύµατα δεν χρειάζεται να κλείσουν 67
68 System.in, System.out, και System.err Ανακατεύθυνση της System.err: public void getinput() {... PrintStream errstream = null; try { errstream = new PrintStream(new FileOuptputStream("errMessages.txt")); System.setErr(errStream);... //Set up input stream and read } 68
69 System.in, System.out, και System.err } catch(filenotfoundexception e) { System.err.println("Input file not found"); } finally {... errstream.close(); } 69
70 ΗκλάσηFile Η κλάση File είναι σαν µια wrapper κλάση για τα ονόµατα αρχείων Ο constructor της κλάσης File δέχεται ως string όρισµα ένα όνοµα, (γνωστό ως αφηρηµένο όνοµα, abstract name), και παράγει ένα αντικείµενο που αναπαριστά το αρχείο µε αυτότοόνοµα Το αντικείµενο File και οι µέθοδοι της κλάσης File µπορούν να χρησιµοποιηθούν για να αντλήσουµε πληροφορίες για το αρχείο και τις ιδιότητές του 70
71 Μέθοδοι της κλάσης File (1/5) 71
72 Μέθοδοι της κλάσης File (2/5) 72
73 Μέθοδοι της κλάσης File (3/5) 73
74 Μέθοδοι της κλάσης File (4/5) 74
75 Μέθοδοι της κλάσης File (5/5) 75
76 υαδικά αρχεία Τα δυαδικά αρχεία αποθηκεύουν δεδοµένα µε τον ίδιο τρόπο που η µνήµη του υπολογιστή αποθηκεύει τις τιµές των µεταβλητών εν χρειάζεται κάποια µετατροπή όταν η τιµή αποθηκεύεται ή ανακτάται από ένα δυαδικό αρχείο Τα δυαδικά αρχεία στη Java, διαφορετικά από ταδυαδικάαρχείασεάλλεςγλώσσες, είναι φορητά Ένα δυαδικό αρχείο που δηµιουργείται από ένα πρόγραµµα Java µπορεί να µετακινηθεί από υπολογιστή σε υπολογιστή Αυτά τα αρχεία µπορούν κατόπιν να διαβαστούν από ένα Java πρόγραµµα, αλλά µόνο από πρόγραµµα Java 76
77 Γράφοντας απλά δεδοµένα σε δυαδικό αρχείο ΗκλάσηObjectOutputStream είναι ένα ρεύµα που µπορεί να χρησιµοποιηθεί για να γράψουµε σεένα δυαδικό αρχείο Ένα αντικείµενο αυτής της κλάσης έχει µεθόδους για να γράφουµε strings, τιµές primitive τύπων, και αντικείµενα σε ένα δυαδικό αρχείο Ένα πρόγραµµα που χρησιµοποιεί τη ObjectOutputStream πρέπει να κάνει import διάφορες κλάσεις από το package java.io: import java.io.objectoutputstream; import java.io.fileoutstream; import java.io.ioexception; 77
78 Άνοιγµα δυαδικούαρχείουγιαεγγραφή Ένα αντικείµενο ObjectOutputStream δηµιουργείται και συνδέεται σε ένα δυαδικό αρχείο ως εξής: ObjectOutputStream outputstreamname = new ObjectOutputStream(new FileOutputStream(FileName)); Ο constructor για τη FileOutputStream µπορεί να πετάξει µια FileNotFoundException Ο constructor για τη ObjectOutputStream µπορεί να πετάξει µια IOException Κάθε µια από αυτές τις εξαιρέσεις πρέπει να τη διαχειριστούµε 78
79 Άνοιγµα δυαδικούαρχείουγιαεγγραφή Μετά το άνοιγµα του αρχείου, µέθοδοι της ObjectOutputStream µπορεί να χρησιµοποιηθούν για να γράψουµε στο αρχείο Οι µέθοδοι που χρησιµοποιούνται για να γράψουµε primitive τιµές περιλαµβάνουν τις writeint, writedouble, writechar, και writeboolean UTF είναι ένα σχήµα κωδικοποίησης που χρησιµοποιείται για να κωδικοποιούµε Unicode χαρακτήρες που ευνοεί το σύνολο χαρακτήρων ASCII Η µέθοδος writeutf µπορεί να χρησιµοποιηθεί για να γράψουµε τιµές τύπου String Το ρεύµα πρέπει πάντα να κλείνει µετά την εγγραφή 79
80 Μέθοδοι της ObjectOutputStream (1/5) 80
81 Μέθοδοι της ObjectOutputStream (2/5) 81
82 Μέθοδοι της ObjectOutputStream (3/5) 82
83 Μέθοδοι της ObjectOutputStream (4/5) 83
84 Μέθοδοι της ObjectOutputStream (5/5) 84
85 ιαβάζοντας απλά δεδοµένα από δυαδικό αρχείο Η κλάση ObjectInputStream είναι ένα ρεύµα που µπορεί να χρησιµοποιηθεί για να διαβάσουµε από δυαδικό αρχείο Κάθε αντικείµενο της κλάσης έχει µεθόδους για να διαβάζουµε strings, τιµές primitive τύπων, και αντικείµενο από ένα δυαδικό αρχείο Ένα πρόγραµµα που χρησιµοποιεί τη ObjectInputStream πρέπει να κάνει import διάφορες κλάσεις από το package java.io: import java.io.objectinputstream; import java.io.fileinputstream; import java.io.ioexception; 85
86 Ανοίγοντας ένα δυαδικό αρχείο για ανάγνωση Ένα αντικείµενο ObjectInputStream δηµιουργείται και συνδέεται σε ένα δυαδικό αρχείο ως εξής: ObjectInputStream instreamname = new ObjectInputStream(new FileInputStream(FileName)); Ο constructor της FileInputStream µπορεί να πετάξει FileNotFoundException Ο constructor της ObjectInputStream µπορεί να πετάξει IOException Πρέπει να τις χειριστούµε 86
87 Ανοίγοντας ένα δυαδικό αρχείο για ανάγνωση Μετά το άνοιγµα του αρχείου, οι µέθοδοι της ObjectInputStream µπορούν να χρησιµοποιηθούν για την ανάγνωση Μέθοδοι για ανάγνωση primitive τιµών είναι οι readint, readdouble, readchar, και readboolean Η µέθοδος readutf διαβάζει τιµές τύπου String Εάν το αρχείο περιέχει πολλαπλούς τύπους, κάθε τύπος πρέπει να διαβαστεί ακριβώς µε τη σειρά που γράφτηκε Στο τέλος πρέπει να κλείνουµε το ρεύµα 87
88 Μέθοδοι της ObjectInputStream (1/5) 88
89 Μέθοδοι της ObjectInputStream (2/5) 89
90 Μέθοδοι της ObjectInputStream (3/5) 90
91 Μέθοδοι της ObjectInputStream (4/5) 91
92 Μέθοδοι της ObjectInputStream (5/5) 92
93 Ελέγχοντας για το τέλος δυαδικού αρχείου Όλες οι µέθοδοι της ObjectInputStream που διαβάζουν από ένα δυαδικό αρχείο πετάνε EOFException εάνπροσπαθήσουννα διαβάσουν πέρα από το τέλος του Άρα µπορούµε να ελέγξουµε µε τον τρόπο αυτό για το τέλος αρχείου Σηµειώστε ότι διαφορετικές µέθοδοι ελέγχουν για το τέλος αρχείου µε διαφορετικό τρόπο Ελέγχοντας για το τέλος αρχείου µε το λάθος τρόπο µπορεί να προκαλέσει ατέρµονα βρόχο ή µη κανονικό τερµατισµό του προγράµµατος 93
94 υαδική I/O για αντικείµενα Μπορούµε να γράψουµε και να διαβάσουµε αντικείµενα σε/από ένα δυαδικό αρχείο Κάνοντας χρήση της µεθόδου writeobject της κλάσης ObjectOutputStream γράφουµε ένα αντικείµενο σε ένα δυαδικό αρχείο Κάνοντας χρήση της µεθόδου readobject της κλάσης class ObjectInputStream διαβάζουµε ένα αντικείµενο από ένα δυαδικό αρχείο Γιαναχρησιµοποιήσουµε τηντιµή που επιστρέφεται από τη readobject ως αντικείµενο µιας κλάσης, πρέπει να εκτελέσουµε type cast: SomeClass someobject = (SomeClass)objectInputStream.readObject(); 94
95 υαδική I/O για αντικείµενα Είναι καλύτερα να αποθηκεύουµε δεδοµένα ενός µόνο τύπου σε ένα αρχείο Εάν έχουµε ανάµειξη τύπων ίσως υπάρχει απώλεια δεδοµένων Επιπλέον, η κλάση του αντικειµένου το οποίο γράφεται ή διαβάζεται πρέπει να υλοποιεί τη διεπαφή (interface) Serializable To interface Serializable είναι εύκολο να το χρησιµοποιήσουµε και δεν απαιτεί γνώση της έννοιας των interfaces Μια κλάση που υλοποιεί το Serializable interface θα αποκαλείται serializable κλάση 95
96 Το interface Serializable Για να κάνουµε µια κλάση serializable, απλά προσθέτουµε τοimplements Serializable στην κεφαλίδα του ορισµού τη κλάσης public class SomeClass implements Serializable Όταν µια serializable κλάση έχει instance variables που είναι τύπου κλάσης, then all αυτές οι κλάσεις πρέπει επίσης να είναι serializable Μια κλάση δεν είναι serializable εκτός και εάν όλες οι instance variables είναι επίσης serializable για όλα τα επίπεδα των instance variables µέσα στις κλάσεις 96
97 Πίνακες σε δυαδικά αρχεία Αφού ένας πίνακας είναι αντικείµενο, µπορούµε να γράψουµε και διαβάσουµε πίνακες σε δυαδικά αρχεδία µε τις readobject και writeobject Εάν το βασικός τύπος του πίνακε είναι κάποια κλάση, τότε πρέπει επίσης να είναι serializable (δείτε στην επόµενη διάλεξη), όπως κάθε άλλος τύπος κλάσης Αφού η readobject επιστρέφει την τιµή τηςως τύπου Object (όπως και για κάθε άλλο αντικείµενο), πρέπει να εκτελέσουµε type cast στον σωστό τύπο πίνακα: SomeClass[] someobject = (SomeClass[])objectInputStream.readObject(); 97
98 Τυχαία προσπέλαση σε δυαδικά αρχεία Τα ρεύµατα για σειριακή προσπέλαση σε αρχεία είναι εκείνα που χρησιµοποιούνται περισσότερο στη Java Όµως, µερικές εφαρµογές απαιτούν γρήγορη προσπέλαση σε εγγραφές σε πολύ µεγάλες βάσεις δεδοµένων Αυτές οι εφαρµογές χρειάζεται να έχουν τυχαία προσπέλαση σε συγκεκριµένα µέρη του αρχείου 98
99 Ανάγνωση και εγγραφή στο ίδιο αρχείο Ηκλάσηρεύµατος RandomAccessFile, που βρίσκεται στο java.io package, παρέχει δυνατότητες ανάγνωσης και εγγραφής, τυχαίας προσπέλασης σε αρχεία στη Java Ένα αρχείο τυχαίας προσπέλασης αποτελείται από µια ακολουθία αριθµηµένων bytes Υπάρχει ένα είδος marker που ονοµάζεται file pointer που πάντα δείχνει σε κάποιο από αυτά τα bytes Όλες οι εγγραφές και αναγνώσεις αρχίζουν από τη θέση του file pointer Ο δείκτης αρχείου (file pointer) µπορεί να µετακινηθεί σε µια νέα θέση µε τηνµέθοδο seek 99
100 Ανάγνωση και εγγραφή στο ίδιο αρχείο Παρόλο που ένα αρχείο τυχαίας προσπέλασης είναι προσανατολισµένο σε byte, υπάρχουν µέθοδοι που επιτρέπουν ανάγνωση και εγγραφή primitive τύπων όπως και τιµών string από/προς ένα random access file Αυτές περιλαµβάνουν τις readint, readdouble, και readutf για είσοδο, και τις writeint, writedouble, και writeutf για έξοδο Όµως δεν έχουν τη µέθοδο writeobject και readobject 100
101 Ανοίγοντας ένα αρχείο Ο constructor της RandomAccessFile δέχεται ως πρώτο όρισµα είτεέναstring που είναι το όνοµα αρχείου είτε ένα αντικείµενο της κλάσης File Το δεύτερο όρισµα πρέπειναείναικάποιο από τα παρακάτω: "rw", που δίνει τη δυνατότητα για ανάγνωση και εγγραφή του αρχείου "r", που δίνει τη δυνατότητα για ανάγνωση µόνο του αρχείου "rws" ή "rwd" (δες τον παρακάτω πίνακα µε τις µεθόδους της RandomAccessFile) 101
102 Παγίδα: Ένα αρχείο Τυχαίας Προσπέλασης (Random Access) δεν χρειάζεται να ανοίξει άδειο Εάν το αρχείο υπάρχει ήδη, τότε όταν το ανοίγουµε, το µήκος του δεν τίθεται ίσο µε 0, και οδείκτηςαρχείου(file pointer) θα τοποθετηθεί στην αρχή του αρχείου Αυτό εγγυάται ότι δεν θα χαθούν τα παλιά δεδοµένα, και ότι το file pointer τοποθετείται στην θέση που είναι πιο πιθανή για ανάγνωση (εγγραφή) Το µήκος του αρχείου µπορεί να αλλαχτεί µε τη µέθοδο setlength Ειδικότερα, η µέθοδος setlength µπορεί να χρησιµοποιηθεί για να εκκενώσουµε τοαρχείο 102
103 Μέθοδοι της RandomAccessFile (1/7) 103
104 Μέθοδοι της RandomAccessFile (2/7) 104
105 Μέθοδοι της RandomAccessFile (3/7) 105
106 Μέθοδοι της RandomAccessFile (4/7) 106
107 Μέθοδοι της RandomAccessFile (5/7) 107
108 Μέθοδοι της RandomAccessFile (6/7) 108
109 Μέθοδοι της RandomAccessFile (7/7) 109
Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Είσοδος/Έξοδος σε αρχεία. Ρεύµατα - Streams
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 7η: 12/04/2006 & 13/04/2006
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αρχεία
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αρχεία Ρεύματα Τι είναι ένα ρεύμα (ροή)? Μια αφαίρεση που αναπαριστά μια ροή δεδομένων Η ροή αυτή μπορεί να είναι εισερχόμενη προς το πρόγραμμα (μια πηγή δεδομένων)
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Αρχεία δεδομένων Το πακέτο java.io περιλαμβάνει περισσότερες από 60 κλάσεις και διασυνδέσεις για το χειρισμό αρχείων δεδομένων. Αρκετές από τις κλάσεις του
Διαβάστε περισσότεραΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ
ΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ Στην java οι πληροφορίες αποθηκεύονται και ανακαλούνται/ανασύρονται µε τη χρήση ενός συστήµατος επικοινωνίας που χρησιµοποιεί την έννοια του stream (κανάλι επικοινωνίας). Σαν stream
Διαβάστε περισσότεραΕίσοδος & Έξοδος. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:
Είσοδος & Έξοδος Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.12.09 Ρεύµατα (Streams) 2 Ένας ορισµός του ρεύµατος Αφαιρετική έννοια για κάτι το οποίο παράγει
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 12 Ροές και είσοδος/έξοδος αρχείων Τα δεδομένα εισόδου
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 12: Είσοδος από & Έξοδος σε Ρεύματα & Αρχεία Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιαχείριση Εξαιρέσεων. Εισαγωγή στη ιαχείριση Εξαιρέσεων
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 6η: 06/04/2006 1 ιαχείριση
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις Αρχεία String processing
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εξαιρέσεις Αρχεία String processing ΕΞΑΙΡΕΣΕΙΣ Εξαιρέσεις οι Εξαιρέσεις (Exceptions) είναι ένας μηχανισμός που έχει η Java για να αντιμετωπίζει περιπτώσεις
Διαβάστε περισσότεραΔιαδικτυακές Εφαρμογές Ενότητα 4: Streams
Διαδικτυακές Εφαρμογές Ενότητα 4: Streams Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Συλλογές και Επαναλήπτες. Συλλογές - Collections
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 14η: 31/08/2006 1 Συλλογές
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 14η: 31/08/2006 1 Συλλογές
Διαβάστε περισσότεραΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ
ΕΙΣΟ ΟΣ-ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ Στην java οι πληροφορίες αποθηκεύονται και ανακαλούνται/ανασύρονται µε τη χρήση ενός συστήµατος επικοινωνίας που χρησιµοποιεί την έννοια του stream (κανάλι επικοινωνίας). Σαν stream
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 6η: 06/04/2006 1 ιαχείριση
Διαβάστε περισσότεραΠρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη
9.1 Γενικά Οι εφαρµογές που δηµιουργούνται από ένα προγραµµατιστή µπορούν ανά πασά στιγµή να καταρρεύσουν από κάποιο λάθος κατά την λειτουργία τους. Αυτές οι καταστάσεις συµβαίνουν από αµέλεια του προγραµµατιστή
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 11 : ΑΡΧΕΙΑ ΚΑΙ ΧΕΙΡΙΣΜΟΣ ΣΦΑΛΜΑΤΩΝ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 11 : ΑΡΧΕΙΑ ΚΑΙ ΧΕΙΡΙΣΜΟΣ ΣΦΑΛΜΑΤΩΝ Κατηγορίες Διαχείριση αρχείων Η κλάση File για τη διαχείριση αρχείων Δυαδικά ρεύματα Εγγραφή και ανάγνωση δυαδικών αρχείων
Διαβάστε περισσότεραΑρχεία και Ρεύματα. Αρχεία
Αρχεία Αρχεία και Ρεύματα sequential files(σειριακά αρχεία) direct access(απ'ευθείας πρόσβασης) Ρεύματα (I/O Streams) Ένα ρεύμα είναι μια σειριακή ροή δεδομένων από μία πηγή προς έναν προορισμό. Όταν ένα
Διαβάστε περισσότερα10.1 Γενικά για τα streams
10.1 Γενικά για τα streams Για την αλληλεπίδραση ενός προγράµµατος µε ένα αρχείο, δηλαδή για την αποθήκευση ή την ανάγνωση δεδοµένων από αυτό χρησιµοποιείται ένα σύστηµα επικοινωνίας που καλείται streams.
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ακαδημαϊκό έτος 2010/2011 Επιμέλεια Ξενοφών Βασιλάκος Περιεχόμενα Φροντιστηρίου A. Πρωταρχικοί τύποι B. Είσοδος/ Έξοδος C. Πράξεις 2 Δήλωση / Αρχικοποίηση / Εκχώρηση A. Πρωταρχικοί
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ Java 2
Προγραµµατισµός ΙΙ Java 2 ιαχείριση Αρχείων Αρχεία Γιατί χρειαζόµαστε να γνωρίζουµε πως διαχειριζόµαστε αρχεία? Για να αποθηκεύουµε και να διαβάζουµε δεδοµένα από το δίσκο (τους λογικούς δίσκους πιο σωστά)
Διαβάστε περισσότεραΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II Strings Η κλάση String είναι προκαθορισμένη κλάση της Java που μας επιτρέπει να χειριζόμαστε αλφαριθμητικά. Ο τελεστής + μας επιτρέπει
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #16
Week 9: Input / Output Μηχανισμοί εισόδου/εξόδου [I/O mechanisms] Όλα τα προγράμματα χρειάζονται είσοδο/έξοδο για να επικοινωνούν με το περιβάλλον τους. Διάλεξη #16: Είσοδος / Έξοδος [Input / Output] Η
Διαβάστε περισσότεραΕργαστήριο 9: Αρχεία
Εργαστήριο 9: Αρχεία Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αρχεία, Είσοδος/Έξοδος από/προς αρχεία - Δυαδικά αρχεία - Παραδείγματα ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ.
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 3: JAVA: ΕΞΑΙΡΕΣΕΙΣ, ΕΙΣΟΔΟΣ-ΕΞΟΔΟΣ, ΝΗΜΑΤΑ Είσοδος - Έξοδος ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής
Διαβάστε περισσότεραΤο πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.
Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει
Διαβάστε περισσότεραΕπεξεργασία Αρχείων Κειµένου
Επεξεργασία Αρχείων Κειµένου Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αρχεία Κειµένου Γενικά Συναρτήσεις Επεξεργασίας Αρχείων Κειµένου ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Αρχεία Γενικά
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Είσοδος Έξοδος (Input Output) Εξαιρέσεις (Exceptions)
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Είσοδος Έξοδος (Input Output) Εξαιρέσεις (Exceptions) Οι εφαρμογές της Java είναι
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας Αυτό-αξιολόγηση 1η: 08/02/2006 1
Διαβάστε περισσότεραΠρογραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα
Διαβάστε περισσότερα(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
(Κεφάλαιο 2.7 και 12) Αρχεία στην C ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουµε δεδοµένα από ένα πρόγραµµα, πρέπει να χρησιµοποιήσουµε την ευτερεύουσα
Διαβάστε περισσότεραΛειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2018-19 Λειτουργικό Σύστημα: διαχείριση πόρων Εισαγωγή Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Επικοινωνία με χρήστη
Διαβάστε περισσότεραΠρογραμματισμός ΙΙ (Java) 4. Διαχείριση εξαιρέσεων
Προγραμματισμός ΙΙ (Java) 4. Διαχείριση εξαιρέσεων Διαχείριση λαθών Εξαιρέσεις Δημιουργία Ανίχνευση Διαχείριση Βασικοί τύποι εξαιρέσεων Δημιουργία τύπων εξαίρεσης 2 Αντιμετώπιση λαθών Υπάρχουν λάθη χρόνου
Διαβάστε περισσότερα(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)
(Κεφάλαιο 2.7 και 12) Αρχεία στην C (Διάλεξη 15) 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουμε δεδομένα από ένα πρόγραμμα, πρέπει να χρησιμοποιήσουμε την Δευτερεύουσα Μνήμη 14-2 Επανάληψη
Διαβάστε περισσότεραΧειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:
Χειρισµός Σφαλµάτων Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.12.06 Σφάλµατα, Σφάλµατα, Σφάλµατα 2 εν υπάρχουν προγράµµατα χωρίς λογικά λάθη Υλοποίηση που
Διαβάστε περισσότεραΛειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Αρχείων Βασίλης Σακκάς 11/12/2013 1 Διαχείριση Αρχείων 1 Μακρόχρονη αποθήκευση πληροφοριών 1. Αποθήκευση μεγάλου όγκου δεδομένων 2. Οι αποθηκευμένες πληροφορίες πρέπει
Διαβάστε περισσότεραWeek 9: Input / Output
Week 9: Input / Output Μηχανισµοί εισόδου/εξόδου [I/O mechanisms] Όλα τα προγράµµατα χρειάζονται είσοδο/έξοδο για να επικοινωνούν µε το περιβάλλον τους. Εβδοµάδα 8: Είσοδος / Έξοδος [Input / Output] Η
Διαβάστε περισσότεραΛειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Λειτουργικό Σύστημα:
Διαβάστε περισσότεραΣυντακτικά λάθη, λάθη εκτέλεσης, Λογικά λάθη
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #7 η : Εξαιρέσεις (λάθη εκτέλεσης, χειρισμός εξαιρέσεων λαθών,) Είσοδος / Έξοδος (ρεύματα, κλάσεις εισόδου και εξόδου, διαχείριση αρχείων) Γαβαλάς
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java
Διαβάστε περισσότεραΤ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων
Εργαστήριο Java Αντικείμενο: Αρχεία Πακέτο java.io Πακέτο java.io.zip Στην Java δεν υπάρχει η έννοια των εγγραφών μέσα σε ένα αρχείο. Ο προγραμματιστής πρέπει να κατασκευάσει το αρχείο κατάλληλα έτσι ώστε
Διαβάστε περισσότεραΕργασία Μαθήματος Αξία: 40% του τελικού σας βαθμού Ανάθεση: Παράδοση:
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ463 Συστήματα Ανάκτησης Πληροφοριών 2009-2010 Φθινοπωρινό Εξάμηνο Εργασία Μαθήματος Αξία: 40% του τελικού σας βαθμού Ανάθεση: Παράδοση: Σκοπός αυτής της
Διαβάστε περισσότεραHelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1
HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello
Διαβάστε περισσότεραΕισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.
Εισαγωγή στη JAVA Σύντομο Ιστορικό Η Java και το διαδίκτυο Το πρώτο απλό πρόγραμμα σε JAVA Μεταβλητές και σταθερές Παραστάσεις και εντολές Οι βασικοί τύποι δεδομένων στη Java Οι βασικοί Τελεστές στη Java
Διαβάστε περισσότεραS, (5, -3, 34, -23, 7) ( /, @, *, _
1 Τι είναι αρχείο Οι πληροφορίες που καλείται να διαχειριστεί ο Η/Υ είναι τόσες πολλές που η μνήμη του δεν φτάνει να τις επεξεργαστεί όλες μαζί. Γι αυτό τον λόγο αποθηκεύονται σε μονάδες αποθήκευσης (π.χ
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος
Προγραμματισμός Η/Υ Χειρισμός Αρχείων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Αρχεία Συλλογές δεδομένων. Αποθηκεύονται στην περιφερειακή μνήμη: π.χ.
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αρχεία Επεξεργασία αλφαριθμητικών
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αρχεία Επεξεργασία αλφαριθμητικών ΑΡΧΕΙΑ Ρεύματα Τι είναι ένα ρεύμα (ροή)? Μια αφαίρεση που αναπαριστά μια ροή δεδομένων Η ροή αυτή μπορεί να είναι εισερχόμενη
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ Java 2
Προγραµµατισµός ΙΙ Java 2 Προχωρηµένα Θέµατα Πακέτα Τις κλάσεις που κατασκευάζουµε µπορούµε να τις οργανώνουµε σε πακέτα εν «κουβαλάµε» µια-µια τις κλάσεις που επιθυµούµε αλλά ένα συµπαγές αρχείο, το πακέτο
Διαβάστε περισσότεραΛειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικό Σύστημα: διαχείριση πόρων Εισαγωγή Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Επικοινωνία με χρήστη
Διαβάστε περισσότεραscanf() scanf() stdin scanf() printf() int float double %lf float
Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση
Διαβάστε περισσότεραΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο
ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο (File) τη συστηµατική συγκέντρωση δεδοµένων. Τα περισσότερα προγράµµατα στη γλώσσα C, τα οποία διαπραγµατεύονται είσοδο, αποθήκευση και επεξεργασία δεδοµένων χρησιµοποιούν
Διαβάστε περισσότεραΣτοιχεία εξεταζόµενου Αριθµός Απάντησης Βαθµολογία. Σύνολο (Θέµα 4 ο )
Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Εισαγωγή στον Προγραµµατισµό των Υπολογιστών Καθηγητής Ι. Κάβουρας Εξεταστική περίοδος Φεβρουαρίου 2004 Τετάρτη 10/3/2004, ώρα 8.00 Στοιχεία εξεταζόµενου
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες
Διαβάστε περισσότεραNATIONAL & KAPODISTRIAN UNIVERSITY OF ATHENS. Διαχείριση Δικτύων. Nikolas Bompetsis
Διαχείριση Δικτύων Nikolas Bompetsis nbompetsis@di.uoa.gr Εισαγωγική Διάλεξη Java Εισαγωγή στον αντικειμενοστραφή προγραμματισμό Τεχνολογία Java Collections & Generics Διαχείριση σφαλμάτων Ροές Δεδομένων
Διαβάστε περισσότεραStreams Input / Output in C++ George Kastrinis
Streams Input / Output in C++ George Kastrinis (gkastrinis@di.uoa.gr) Streams What? Η είσοδος και η έξοδος δεδομένων, στη C++ βασίζεται στην έννοια των ρευμάτων - streams Ένα ρεύμα είναι ουσιαστικά μια
Διαβάστε περισσότεραΗ πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης
Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός
Αντικειμενοστραφής Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 6: Κληρονομικότητα, Interfaces και I/O Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών
Διαβάστε περισσότεραC: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο
C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ EXCEPTIONS & EXCEPTION HANDLING Εξαιρέσεις (Exceptions) Γνωμικό της Μηχανικής Λογισμικού: το 80% της δουλειάς των μηχανικών
Διαβάστε περισσότεραΑντικείμενα στη Java. Παύλος Εφραιμίδης. Java Αντικείμενα στη Java 1
Αντικείμενα στη Java Παύλος Εφραιμίδης Java Αντικείμενα στη Java 1 Αντικείμενα (Objects) στην Java Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας
Διαβάστε περισσότεραΑρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)
Διαχείριση Αρχείων Αρχεία Για να είναι δυνατή η επεξεργασία μεγάλου αριθμού δεδομένων τα δεδομένα είναι αποθηκευμένα σε ψηφιακά μέσα κατάλληλα οργανωμένα. Η αποθήκευση γίνεται σε αρχεία. Πολλά προγράμματα
Διαβάστε περισσότεραΕΞΑΙΡΕΣΕΙΣ. Εξαιρέσεις προκαλούνται. από το σύστηµα. από το πρόγραµµα
ΕΞΑΙΡΕΣΕΙΣ Εξαίρεση (Exception): Ένα συµβάν κατά τον χρόνο εκτέλεσης (π.χ. αδυναµία ανοίγµατος αρχείου ή ανάγνωσης πληροφορίας, µη ύπαρξη αντικειµένου στη στοίβα) που απαιτεί ειδικό χειρισµό. Ονοµάζεται
Διαβάστε περισσότεραΠρογραµµατιστικές Τεχνικές
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Προγραµµατιστικές Τεχνικές Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωµύλος Κορακίτης
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 10 Αρχεία στην C Επανάληψη στην Αποθήκευση (Storage)
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 8η: 10/05/2006 & 11/05/2006
Διαβάστε περισσότεραΧωρική Βάση δεδοµένων Autocad
Χωρική Βάση δεδοµένων Autocad Όλοι η πληροφορία σας βρίσκεται σε ένα αρχείο µε κατάληξη.dwg το οποίο αντιπροσωπεύει τη βάση δεδοµένων σας. Αυτό το αρχείο µπορούµε να το επεξεργαστούµε µε διάφορους τρόπους
Διαβάστε περισσότεραΕξαιρέσεις. try, catch, finally, throw, throws
Εξαιρέσεις try, catch, finally, throw, throws Εξαιρέσεις Πολλές φορές όταν προγραµµατίζουµε σε κάποια γλώσσα προγραµµατισµού συµβαίνουν διάφορα σφάλµατα που οφείλονται είτε σε διάφορες αιτίες όπως σε λάθη
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Αλφαριθμητικά και Αρχεία Αλφαριθμητικά (strings) Αρχεία (files) τα βασικά στοιχεία Αλφαριθμητικά της C Συμβολοσειρές (= ακολουθίες
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Μαθήματα από τα εργαστήρια ΕΡΓΑΣΤΗΡΙΟ 1 Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο
Διαβάστε περισσότεραΑντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)
Αντικείμενα (Objects) στην Java Αντικείμενα στη Java Παύλος Εφραιμίδης Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας μηνύματα το ένα στο άλλο
Διαβάστε περισσότεραΠροηγμένοι Μικροεπεξεργαστές. Εργαστήριο 5 - Editor
Προηγμένοι Μικροεπεξεργαστές Εργαστήριο 5 - Editor Περιγραφή Υλοποίηση ενός υποτυπώδους editor που θα: Διαβάζει ένα προκαθορισμένο αρχείο Θα το απεικονίζει στην οθόνη Θα κάνει highlight με έναν ελεγχόμενο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότεραΣύστηµα Αρχείων και Καταλόγων
ΕΠΛ 003 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Σύστηµα Αρχείων και Καταλόγων ιάλεξη 7 (Κεφάλαιο 11 του βιβλίου) Στόχοι Κεφαλαίου Περιγραφή της έννοιας του αρχείου, συστήµατος
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 11: Χειρισμός Σφαλμάτων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΑντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιεπαφές και Εσωτερικές κλάσεις Interfaces and Inner Classes. ιεπαφές - Interfaces
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 8η: 10/05/2006 & 11/05/2006
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1
Διαβάστε περισσότεραΠροηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor
Προηγμένοι Μικροεπεξεργαστές Εργαστήριο 4 - Editor Περιγραφή Υλοποίηση ενός υποτυπώδους editor που θα: Διαβάζει ένα προκαθορισμένο αρχείο Θα το απεικονίζει στην οθόνη Θα κάνει highlight με έναν ελεγχόμενο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αρχεία String processing Παράδειγμα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αρχεία String processing Παράδειγμα ΑΡΧΕΙΑ Ρεύματα Τι είναι ένα ρεύμα (ροή)? Μια αφαίρεση που αναπαριστά μια ροή δεδομένων Η ροή αυτή μπορεί να είναι εισερχόμενη
Διαβάστε περισσότεραΒιβλιοθήκη stdio. Προγραμματισμός II 1
Βιβλιοθήκη 1 lalis@inf.uth.gr Δεδομένα και ερμηνεία (ξανά) Τα δεδομένα στον Η/Υ έχουν δυαδική μορφή (bytes) Η ερμηνεία των bytes εξαρτάται από το πρόγραμμα που παράγει/καταναλώνει τα δεδομένα Μια δημοφιλής
Διαβάστε περισσότεραΕισαγωγή στον αντικειμενοστραφή προγραμματισμό με τη Java
Προχωρημένος Προγραμματισμός Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με τη Java ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα παρουσιάσουμε
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Δέκατη-τρίτη (13 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/
Διαβάστε περισσότεραΠρογραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Χαρακτήρες Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Χαρακτήρες - Εισαγωγή Έως τώρα έχουμε κατά κύριο λόγο χρησιμοποιήσει τους αριθμητικούς τύπους
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραFile Handling & I/O ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ
File Handling & I/O ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ .NET Framework System.Out namespace Βασική υποστήριξη για διαχείριση αρχείων και φακέλων Ανάγνωση και εγγραφή σε file και data streams Κλήση εκτελέσιμου από κώδικα
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
Διαβάστε περισσότεραΠληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010
Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας
Διαβάστε περισσότεραΕργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών
Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση
Διαβάστε περισσότεραΜετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη
Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη ( ιάλεξη 3) ιδάσκων: Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αρχεία Επεξεργασία αλφαριθμητικών
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αρχεία Επεξεργασία αλφαριθμητικών ΑΡΧΕΙΑ Ρεύματα Τι είναι ένα ρεύμα (ροή)? Μια αφαίρεση που αναπαριστά μια ροή δεδομένων Η ροή αυτή μπορεί να είναι εισερχόμενη
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Ιστορία Ο Patrick Naughton απειλεί την Sun ότι θα φύγει. Τον βάζουν σε μία ομάδα αποτελούμενη από τους James Gosling και Mike Sheridan για
Διαβάστε περισσότεραΒασικές λειτουργίες συστήματος πάνω σε αρχεία δεδομένων. Προγραμματισμός II 1
Βασικές λειτουργίες συστήματος πάνω σε αρχεία δεδομένων 1 ais@inf.uth.gr Βασικές λειτουργίες (1) int pen(cnst char *path, int fags, mde_t perms) ανοίγει το αρχείο με όνομα path (αν συμπεριλαμβάνεται ένα
Διαβάστε περισσότερα2 ΓΡΑΜΜΙΚΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
2 ΓΡΑΜΜΙΚΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Linear Data Structures) Ας θεωρήσουµε µία δοµή δεδοµένων το σύνολο των στοιχείων της οποίας είναι διατεταγµένο µε τέτοιο τρόπο ώστε να ισχύουν τα εξής: (α) υπάρχει ένα µόνο
Διαβάστε περισσότεραΟρισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα
ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων
Διαβάστε περισσότερα