Stream Output Stream Filter Output Stream Print Stream

  • Slides: 32
Download presentation

Η ιεραρχία Stream (ελλιπής) Output. Stream Filter. Output. Stream Print. Stream File. Output. Stream

Η ιεραρχία Stream (ελλιπής) Output. Stream Filter. Output. Stream Print. Stream File. Output. Stream (μόνο έξοδος, ελλιπής) Piped. Output. Stream Buffered. Output. Stream Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 10

Μεθοδοι της Print. Stream public public void void print(boolean b) print(char c) print(double d)

Μεθοδοι της Print. Stream public public void void print(boolean b) print(char c) print(double d) print(float f) print(int i) print(long l) print(String s) print(Object o) public void public void Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής println(boolean b) println (char c) println (double d) println (float f) println (int i) println (long l) println (String s) println (Object o) Αντώνιος Συμβώνης, ΕΜΠ, Slide 12

Ανάγνωση Παράδειγμα Buffered. Reader reader = new Buffered. Reader(new Input. Stream. Reader(System. in)); try

Ανάγνωση Παράδειγμα Buffered. Reader reader = new Buffered. Reader(new Input. Stream. Reader(System. in)); try { String input. Line = reader. read. Line(); } catch(IOException exc) { // an IO error occurred } Τι σημαίνουν όλα αυτά; Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 13

Ανάγνωση: παράδειγμα Buffered. Reader reader = new Buffered. Reader(new Input. Stream. Reader(System. in)); try

Ανάγνωση: παράδειγμα Buffered. Reader reader = new Buffered. Reader(new Input. Stream. Reader(System. in)); try { while(true) { String line = reader. read. Line(); System. out. println("the line was: " + line); } } catch(IOException exc) { // an IO error occurred } Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 20

Τεμαχισμός [tokenising] της εισόδου String. Tokenizer tokenizer = new String. Tokenizer(line); while(tokenizer. has. More.

Τεμαχισμός [tokenising] της εισόδου String. Tokenizer tokenizer = new String. Tokenizer(line); while(tokenizer. has. More. Tokens()) System. out. println(tokenizer. next. Token()); Γραμμή εισόδου: It's a beautiful day! Τεμάχια [tokens]: It's a beautiful Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής day! Αντώνιος Συμβώνης, ΕΜΠ, Slide 22

Η διαπροσωπεία “Tokenizer” Κατασκευαστές: String. Tokenizer(String str) Constructs a string tokenizer for the specified

Η διαπροσωπεία “Tokenizer” Κατασκευαστές: String. Tokenizer(String str) Constructs a string tokenizer for the specified string. String. Tokenizer(String str, String delim) Constructs a string tokenizer for the specified string and a given delimiter. String. Tokenizer(String str, String delim, boolean return. Tokens) Constructs a string tokenizer for the specified string, a given delimiter and a flag indicating whether to return the delimiter tokens. Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 24

Η διαπροσωπεία “Tokenizer”(2) Μέθοδοι: boolean has. More. Tokens() Tests if there are more tokens

Η διαπροσωπεία “Tokenizer”(2) Μέθοδοι: boolean has. More. Tokens() Tests if there are more tokens available from this tokenizer's string. String next. Token() Returns the next token from this string tokenizer. int count. Tokens() Calculates the number of times that this tokenizer's next. Token method can be called before it generates an exception. Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 25

Διαπροσωπεία File. Reader class File. Reader (extends Reader): File. Reader(File file) File. Reader(File. Descriptor

Διαπροσωπεία File. Reader class File. Reader (extends Reader): File. Reader(File file) File. Reader(File. Descriptor fd) File. Reader(String file. Name) (Καμία νέα μέθοδος) Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 27

Παράδειγμα: copy. File public void copy. File(String from. File, String to. File) throws IOException

Παράδειγμα: copy. File public void copy. File(String from. File, String to. File) throws IOException { File input. File = new File(from. File); File output. File = new File(to. File); File. Reader in = new File. Reader(input. File); File. Writer out = new File. Writer(output. File); int ch; while ((ch = in. read()) != -1) out. write(c); in. close(); out. close(); } Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 28

Μετατροπή [casting] σε χαρακτήρες public void process. File(String file. Name) throws IOException { File

Μετατροπή [casting] σε χαρακτήρες public void process. File(String file. Name) throws IOException { File input. File = new File(file. Name); File. Reader in = new File. Reader(input. File); int ch; while ((ch = in. read()) != -1) process. Character((char)ch); } in. close(); Αναγκαία μετατροπή! public void process. Character(char a. Char) {. . . } Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 31

Ανάγνωση αριθμών. . . int number 1; int number 2; boolean invalid. Input =

Ανάγνωση αριθμών. . . int number 1; int number 2; boolean invalid. Input = false; String line = reader. read. Line(); try { number 1 = Integer. parse. Int(line); line = reader. read. Line(); number 2 = Integer. parse. Int(line); } catch(Number. Format. Exception exc) { // input was not a valid number invalid. Input = true; } Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής 42 128 Αρχείο κειμένου Αντώνιος Συμβώνης, ΕΜΠ, Slide 32