Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Irmgard Bachmeier Geändert vor über 7 Jahren
1
Ein-/ Ausgabe in Java ein Überblick
2
© till.haenisch@gmx.de eigentlich ganz einfach ? Ein-/Ausgabe durch package java.io Ausgabe (auf Konsole) mit System.out.println() Eingabe (von Konsole) mit System.in.readln() ? System.in ist vom Typ java.io.InputStream Methoden wie read(byte[]) ? keine Strings,... Streams lesen und schreiben einzelne Bytes normalerweise (?) ASCII/Unicode Zeichen Reader/Writer ggf. gepuffert BufferedReader/Writer
3
© till.haenisch@gmx.de Streams Folge von Bytes können zum Lesen und Schreiben von Bytes verwendet werden woher/wohin ? z.B. FileInputStream Streams als Schnittstelle zwischen Anwendung und Daten Für Text EA InputStreamReader/OutputStreamWriter Pufferung BufferedReader/BufferedWriter
4
© till.haenisch@gmx.de Beispiele // Einlesen von Tastatur InputStreamReader isr = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(isr); String s = in.readLine(); while (s != null) { System.out.println(s); s = in.readLine(); } AnwendungBufferedReaderInputStreamReaderInputStream
5
© till.haenisch@gmx.de Einschub Exceptions Fehlerbehandlung im 'normalen' Code InputStreamReader isr = new InputStreamReader(System.in); if (isr == null) { System.out.println("Fehler beim Oeffnen"); System.exit(0); } else { BufferedReader in = new BufferedReader(isr); if (in == null) { System.out.println("Fehler beim Lesen"); System.exit(0); } else {... } }
6
© till.haenisch@gmx.de Fehlerbehandlung vom Code getrennt InputStreamReader isr = new InputStreamReader(System.in); if (isr == null) { iStatus = ERR_OPEN; goto Error; } BufferedReader in = new BufferedReader(isr); if (in == null) { iStatus = ERR_READER; goto Error; }... Error: switch (iStatus)...
7
© till.haenisch@gmx.de Exceptions ähnlich goto, aber 'sauberer' try { InputStreamReader isr = new InputStreamReader(System.in); if (isr == null) throw new IOException("Error opening"); BufferedReader in = new BufferedReader(isr); if (in == null) throw new IOException("Error in Reader");... } catch (IOException e) { }
8
© till.haenisch@gmx.de vordefinierte Exceptions oder gleich 'eingebaut' try { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(isr);... } catch (IOException e) { }
9
© till.haenisch@gmx.de Syntax try { // some code } catch (SomeException e1) { // do something } catch (SomeException e2) { // do something else } finally { // always executed } später mehr
10
© till.haenisch@gmx.de Lesen aus Datei // Einlesen aus Datei BufferedReader in = new BufferedReader( new FileReader("x.dat")); String s = in.readLine(); // readLine() liefert am Dateiende null while (s != null) { System.out.println(s); s = in.readLine(); } AnwendungBufferedReaderFileReaderFile
11
© till.haenisch@gmx.de aus String // Einlesen aus String BufferedReader in = new BufferedReader( new StringReader("Hallo\nWelt\n)); String s = in.readLine(); while (s != null) { System.out.println(s); s = in.readLine(); } AnwendungBufferedReaderStringReaderString
12
© till.haenisch@gmx.de aus dem Netz // Einlesen von URL URL U = new URL("http://192.168.1.110"); BufferedReader in = new BufferedReader( new InputStreamReader(U.openStream())); String s = in.readLine(); while (s != null) { System.out.println(s); s = in.readLine(); } AnwendungBufferedReaderInputStreamReaderURL
13
© till.haenisch@gmx.de Ausgabe in Datei // Ausgabe in Datei FileWriter fw = new FileWriter("y.dat")); PrintWriter pw = new PrintWriter(fw); pw.println("HALLO"); AnwendungPrintWriterFileWriterFile
14
© till.haenisch@gmx.de Ausgabe mal anders FileOutputStream os = new FileOutputStream("y.gz"); GZIPOutputStream zos = new GZIPOutputStream(os); PrintWriter pw = new PrintWriter(zos); pw.println("HALLO"); pw.close(); AnwendungPrintWriterGZIPOutputStreamFileOutputStreamFile
15
© till.haenisch@gmx.de Zusammenfassung EA in Java ist, verglichen mit anderen Sprachen im Sprachumfang enthalten (vgl. C) erheblich komplexer erheblich flexibler genauso effizient nicht nur für 'normale' Dateien, sondern auch etwa für Netzwerk Archive Datenbanken Überblick Literatur
16
© till.haenisch@gmx.de Praxis Programm "type" gibt Datei auf Konsole aus Erweiterung: seitenweise Programm "wc" Zählt die Zeilen in einer Datei Erweiterung: auch die Wörter und Buchstaben Programm "metric" Bestimmt die maximale/mittlere Schachtelungstiefe in einem Java Programm Programm "copy" kopiert Dateien (binär !) Programm "grep" durchsucht Dateien nach Muster (Zeichenfolge)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.