Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Streams and Files.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Ancient Greek for Everyone: A New Digital Resource for Beginning Greek Unit 4: Conjunctions 2013 edition Wilfred E. Major
Advertisements

Τύποι δεδομένων και τελεστές,
ΕΙΣΑΓΩΓΗ ΣΤΟ DOS (Disk Operating System)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φροντιστήρια Εισηγητής: Σπύρος Αργυρόπουλος Μέλος ΕΤΕΠ Εργαστήριο Προγραμματισμού & Τεχνολογίας Ευφυών Συστημάτων.
Γειά σας. Say: take a pencil. Πάρε ένα μολύβι. Nick, give me my book.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 9: Input / Output Εβδομάδα 8: Είσοδος / Έξοδος [Input / Output]
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 4: Exceptions Εβδομάδα 4: Εξαιρέσεις [Exceptions]
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Methods, Constructors and Field.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
1 Εισαγωγή στα Streams Υπάρχουν πάνω από 60 κλάσεις για input/output στο πακέτο Υπάρχουν πάνω από 60 κλάσεις για input/output στο πακέτο java.io.*; java.io.*;
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Java Classes, Objects, και Events.
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Java Syntax and Style.
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Data Types, Variables, and Arithmetic.
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
Streams Streams: κανάλια ροής δεδομένων Κανάλια εισόδου: ανάγνωση δεδομένων Κανάλια εξόδου: αποστολή δεδομένων Συνήθεις πηγές και προορισμοί δεδομένων:
Streams, Sockets & I/O Θ. Βαρβαρίγου Καθηγ. ΕΜΠ Τηλ
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
1 Β΄ Μέρος : ΠΡΟΧΩΡΗΜΕΝΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥ GUI Παπανίκος Νικόλαος Α.Μ Φασουράκη Ασημίνα Α.Μ 711.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
6/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Static Random Access Memory.
ΗΥ Παπαευσταθίου Γιάννης1 Clock generation.
Εισαγωγή στη JAVΑ (μέρος Β’) Βασίλης Παπαταξιάρχης Μάθημα: Αντικειμενοστραφής Προγραμματισμός Διδάσκουσα: Ιζαμπώ Καράλη Τμήμα Πληροφορικής.
ΔΠΘ-ΤΜΗΜΑ ΜΠΔ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ-ΓΛΩΣΣΑ C / 06 1 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΛΩΣΣΑ C Αρχεία (files)
Προσομοίωση Δικτύων 2n Άσκηση Δημιουργία, διαμόρφωση μελέτη επικοινωνιακών ζεύξεων.
Week 11 Quiz Sentence #2. The sentence. λαλο ῦ μεν ε ἰ δότες ὅ τι ὁ ἐ γείρας τ ὸ ν κύριον Ἰ ησο ῦ ν κα ὶ ἡ μ ᾶ ς σ ὺ ν Ἰ ησο ῦ ἐ γερε ῖ κα ὶ παραστήσει.
Lesson 6c: Around the City I JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Προσομοίωση Δικτύων 4η Άσκηση Σύνθετες τοπολογίες, διακοπή συνδέσεων, δυναμική δρομολόγηση.
Γλώσσα R! R language Μερικά παραδείγματα 1.Γράφοντας το «ν παραγοντικό», n! Fact
Αριθμητική Επίλυση Διαφορικών Εξισώσεων 1. Συνήθης Δ.Ε. 1 ανεξάρτητη μεταβλητή x 1 εξαρτημένη μεταβλητή y Καθώς και παράγωγοι της y μέχρι n τάξης, στη.
Σύστημα Αρχείων (1/2) Εισαγωγή στην Πληροφορκή 1 Η κύρια μνήμη είναι η μνήμη που διατηρεί τα προγράμματα που εκτελούνται και τα δεδομένα τους  Όλες οι.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java.
Κωδικός Θ: ΤΠ4003, Κωδικός Ε: ΤΠ4103 (ΜΕΥ/Υ) Ώρες (Θ - ΑΠ - Ε): Προαπαιτούμενα: ΤΠ2003,2103.
Αντικειμενοστραφής Προγραμματισμός (Θ) Ενότητα 5: Είσοδος/ Έξοδος Κλειώ Σγουροπούλου Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Ανοικτά Ακαδημαϊκά Μαθήματα στο.
Μάθημα 1 ΔΙΑΔΙΚΤΥΟ Διευθύνσεις και Πρωτόκολλα. Διευθύνσεις Πως αποκωδικοποιούνται οι διευθύνσεις: Πρωτόκολλο://server.domain.
Μαθαίνω με “υπότιτλους”
Εισαγωγή στον Προγ/μό Η/Υ
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Διευθύνσεις και Πρωτόκολλα στο διαδίκτυο
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Εισαγωγή στον Προγ/μό Υπολογιστών
Τμήμα Εφαρμοσμένης Πληροφορικής και Πολυμέσων Εργαστήριο Ρομποτικής
Εφαρμογές Υπολογιστών
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
JSIS E 111: Elementary Modern Greek
ΗΜΥ 007 – Τεχνολογία Πληροφορίας Διάλεξη 5
Adjectives Introduction to Greek By Stephen Curto For Intro to Greek
(ALPHA BANK – EUROBANK – PIRAEUS BANK)
Κεφάλαιο 10 Streams.
Development of sample e-Hoop content
JAVA – Basic OOP Principles
Μία πρακτική εισαγωγή στην χρήση του R
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ
ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΑΡΧΕΙΟΝΟΜΙΑΣ – ΒΙΒΛΙΟΘΗΚΟΝΟΜΙΑΣ Μεταπτυχιακό Πρόγραμμα Σπουδών στην Επιστήμη της Πληροφορίας «Διοίκηση και Οργάνωση Βιβλιοθηκών.
Find: φ σ3 = 400 [lb/ft2] CD test Δσ = 1,000 [lb/ft2] Sand 34˚ 36˚ 38˚
aka Mathematical Models and Applications
Διάλεξη #10: Εκτέλεση Java χωρίς το BlueJ
Τύποι δεδομένων και τελεστές,
Υπο-τύποι και πολυμορφισμός
Week 9: Input / Output Διάλεξη #16: Είσοδος / Έξοδος [Input / Output]
Εξαιρέσεις [Exceptions]
CPSC-608 Database Systems
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΛΩΣΣΑ C
Μεταγράφημα παρουσίασης:

Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Streams and Files

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-2 Στόχοι: l Να μάθουμε τα βασικά για Java’s IO package l Να καταλάβουμε την διαφορά ανάμεσα σε ένα text και ένα binary files l Να κατανοήσουμε την ιδέα του input or output “stream” l Εισαγωγή στα exceptions l Πρακτική με EasyReader and EasyWriter

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-3 Files l ένα file είναι μια συλλογή από data in mass storage. l ένα data file ΔΕΝ είναι μέρος του source code του προγράμματος. l Το ίδιο file μπορεί να διαβαστεί και να τροποποιηθεί από διάφορα different programs. l Το πρόγραμμα πρέπει να ξέρει το format των data μέσα στο file.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-4 Files (συνέχ.) l Το file system διατηρείται από το operating system. l Το σύστημα παρέχει commands and/or GUI utilities για να βλέπουμε (for viewing) τα file directories and for copying, moving, renaming, and deleting files. l Το σύστημα παρέχει επίσης “core” functions, οι οποίες μπορούν να κλιθούν από programs, for reading and writing directories and files.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-5 Text Files l ένα computer ΧΡΗΣΙΜΟΠΟΙΕΙ distinguishes text (“ASCII”) files και “binary” files. Αυτή η διαφοροποίηση βασίζεται στο πως μεταχειριζόμαστε το file. l ένα text file υποθέτετε ότι περιλαμβάνει lines of text (e.g., in ASCII code). l Κάθε line τερματίζει με τον “newline” character (or a combination, carriage return plus line feed).

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-6 Text Files l Παραδείγματα: –Any plain-text file, typically named something.txt –Source code of programs in any language (e.g., Something.java) –HTML documents –Data files for certain programs, (e.g., fish.dat; any file is a data file for some program.)

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-7 Binary Files l Ένα “binary” file περιλαμβάνει οποιαδήποτε information, οποιοδήποτε συνδυασμό από bytes. l Μόνο ένας programmer / designer ξέρει πώς να το μεταφράσει. l Διαφορετικά προγράμματα μπορούν να μεταφράσουν το ίδιο file διαφορετικά (e.g., one program displays an image, another extracts an encrypted message).

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-8 Binary Files l Παραδείγματα: –Compiled programs (e.g., Something.class) –Image files (e.g., something.gif) –Music files (e.g., something.mp3) l Any file can be treated as a binary file (even a text file, if we forget about the special meaning of CR-LF).

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-9 Text as Binary: A rose is a rose is a rose CR + LF rose.txt Hex “dump” ASCII display

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-10 Streams l ένα “stream” είναι ένα abstraction που προκύπτει από sequential input or output devices. l Ένα input stream παράγει ένα stream από characters; ένα output stream λαμβάνει ένα stream από characters, “one at a time.” l Streams δεν εφαρμόζονται μόνο στα files, αλλά και σε πραγματικές IO devices, Internet streams, and so on.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-11 Streams (συνέχ.) l ένα file μπορεί να θεωρηθεί σαν ένα input or output stream. l Στην πραγματικότητα file streams είναι buffered για μεγαλύτερη αποδοτικότητα: δεν είναι πρακτικό να διαβάζουμε και να γράφουμε ένα ένα χαρακτήρα από mass storage. l Είναι συνηθισμένο να αντιμετωπίζουμε τα text files σαν streams.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-12 Random-Access Files l Ένα πρόγραμμα μπορεί να αρχίσει να διαβάζει ή να γράφει (reading or writing) σε ένα random-access file σε οποιοδήποτε σημείο και μπορεί να τοποθετεί και να διαβάζει οποιοδήποτε αριθμό από bytes κάθε φορά. l “Random-access file” είναι μια abstraction: οποιοδήποτε file μπορεί να θεωρηθεί σαν random- access file. l Μπορείτε να ανοίξετε (open) a random-access file both for reading and writing at the same time.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-13 Random-Access Files (συνέχ.) l Ένα binary file περιλαμβάνει fixed-length data records και είναι κατάλληλο για random- access treatment. l ένα random-access file μπορεί να συνοδεύεται από ένα “index” (either in the same or a different file), που μας λέει the address of each record. l Tape : CD == Stream : Random-access

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-14 File Types: Summary Text Binary Stream Random-Access File common use possible, but not as common

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-15 java.io BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter DataInputStream DataOutputStream File FileDescriptor FileInputStream FileOutputStream FilePermission FileReader FileWriter FilterInputStream FilterOutputStream FilterReader FilterWriter InputStream InputStreamReader LineNumberInputStream LineNumberReader ObjectInputStream ObjectInputStream.GetField ObjectOutputStream ObjectOutputStream.PutField ObjectStreamClass ObjectStreamField OutputStream OutputStreamWriter PipedInputStream PipedOutputStream PipedReader PipedWriter PrintStream PrintWriter PushbackInputStream PushbackReader RandomAccessFile Reader SequenceInputStream SerializablePermission StreamTokenizer StringBufferInputStream StringReader StringWriter Writer How do I read an int from a file?

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-16 java.io (συνέχ.) l Χρησιμοποιεί τέσσερις hierarchies of classes rooted at Reader, Writer, InputStream, OutputStream. l Has a special stand-alone class RandomAccessFile. l Διαφορετικές input classes παρέχουν methods για reading ένα single byte και byte arrays.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-17 java.io (cont’d) l BufferedReader and RandomAccessFile είναι οι μόνες classes που έχουν μια method to read a line of text, readLine. l readLine returns a String or null αν έχουμε φτάσει στο τέλος του file. l PrintWriter and PrintOutputStream έχουν print and println methods παρόμοια με το System.out’s.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-18 java.io (συνέχ.) l Uses “wrapper” classes (a.k.a “decorators”): a “more advanced” object is constructed around a simpler object, adding features. import java.io.*;... BufferedReader inputFile = new BufferedReader ( new FileReader (inFileName)); PrintWriter outputFile = new PrintWriter ( new BufferedWriter ( new FileWriter (outFileName)));

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-19 java.io (cont’d) l “Throws” checked exceptions when anything goes wrong (e.g., a program fails to open a file or encounters the end of file). l try-catch statement should be used to handle code that throws checked exceptions. l There are no convenient methods for reading an int or a double from an ASCII file.

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-20 java.io (cont’d) l Interested? Read the textbook, the API Docs, more technical books; use EasyReader.java and EasyWriter.java as examples. l Not interested? Use EasyReader and EasyWriter until you become a “pro.”

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-21 EasyReader inputFile = new EasyReader (fileName); if (inputFile.bad())... // display and error msg, quit int n = inputFile.readInt(); if (inputFile.bad())... // couldn’t read, reached EOF double x = inputFile.readDouble(); char ch = inputFile.readChar (); String word = inputFile.readWord(); String line = inputFile.readLine(); if (line == null)... // finished reading lines of text

Εισαγωγή στο ΟΟΡ και Java Δρ. Μαρία Ι. Ανδρέου1-22 EasyWriter outputFile = new EasyWriter (fileName); if (outputFile.bad())... // display and error msg, quit // Use like System.out; has these methods // for int, double, char, and String outputFile.print(...); outputFile.println(...); outputFile.close(); // close when done