© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.

Slides:



Advertisements
Ähnliche Präsentationen
programmiert April-Juni 2003 von Knut Riechmann
Advertisements

DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Einführung in die Programmierung Ausführbare Klassen
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik F Verteilte Software - Java.
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Internetzugriff mit Strings und Streams
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Ausnahmen HS Merseburg (FH) WS 06/07.
Java News & Music Der Chat
Daten Anzeigen und Ausdrucken Zu Zeigende Daten (z.B. Studentenplan) Daten in XML müssen geparst und in PDF- Format umgewandelt werden. Dazu iTEXT Bibliothek.
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Sockets in Java Richard Göbel. FH-Hof Kommunikation über das Internet - Grundlagen Ein Rechner wird im Internet über die so genannte IP- Adresse.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
SWITCH - Anweisung.
Verzweigung oder bedingte Anweisung Weiter mit PP.
IF-ELSE-IF-Ketten Weiter mit PP..
Ein Beispiel in Java.
Konstruktoren.
Objekte werden als Adressen (Referenzen) übergeben. Dies führt manchmal zu unerwarteten Ergebnissen...
Assoziationen (Beziehungen) 1 : n. Zu einem Auto gibt es mehrere Fahrer (2) und zu diesen 2 Fahrern gibt es genau dieses Auto.
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
Zusammenfassung Vorwoche
Packages Vortrag : Cornelia Hardt 23. November 1999.
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Ausnahmen1 Ausnahmen. DVG Ausnahmen 2 Was sind Programmfehler? Programm erzielt gar kein Ergebnis. Berechnetes Ergebnis stimmt nicht.
DVG Einführung in Java1 Einführung in JAVA.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Datenströme DVG Datenströme.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Step by step zum JFrame 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Bestimmung des ggT zweier Zahlen
© 2005 Pohlig GK Informatik K Zum JFrame Step by step by step by step by step by step by step by step by.
© 2006 MPohlig Grundkurs Informatik mit Java 1 JFrame-Vorlage Step by step by step by step by step by step by step by step by.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
© 2004 Pohlig - Taulien Dokumentation mit JavaDoc.
Learning By Doing TCP/IP Netzwerke mit TCP/IP Das Internet verwendet weitgehend das rund 30-jährige TCP/IP-Protokoll (TCP: Transmission Control Protocol,
Socket-Programmierung
Copyright 2007 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2007/08 Kapitel 10, Folie 1 2 Dr. Christian Herzog Technische.
Netzwerkprogrammierung
Copyright 2004 Bernd Brügge Einführung in die Informatik II TUM Sommersemester Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität.
Praxis der Internet-Programmierung
CuP - Java Eingabe über Tastatur, AudioClips, überschreiben, Quiz Montag, 18. November 2002.
Objektorientiertes Konstruieren
Die Klasse String und ihre Methoden
Unterprogramme in JAVA
Optimale Ursprungsgerade
Wilfried Imrich CuP - Java Erste Vorlesung Entspricht ungefähr Kapitel 1.1 des Skriptums Wilfried Imrich Montanuniversität Leoben Freitag, 4. Oktober 2002.
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Instanzmethoden
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
© 2005 Pohlig Informatik Jg. 11 mfH Michael Pohlig 1 Zum JFrame Step by step by step by step by step by step by step by step by.
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Ein- und Ausgabe in Java Packet: java.io
OOP mit Java Oder: Java in 5 Tagen. 1. Tag Klassen und Methoden Hello World in Variationen Von Menschen und Geschlechtern Horden (Schlange stehen)
Ein-/ Ausgabe in Java ein Überblick. © eigentlich ganz einfach ? Ein-/Ausgabe durch package java.io Ausgabe (auf Konsole) mit System.out.println()
Java I/O Input / Output stream Library
Java I/O Input / Output stream Library
 Präsentation transkript:

© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme

© 2005 Pohlig - Taulien Datenströme GK Informatik 2 Ausgabe in eine Datei Das Schreiben in eine Datei kann man sich in drei Schritte aufgeteilt vorstellen: Erzeuge eine FileOutputStream -Objekt und übergib ihm dabei den Namen der Datei als ein String -Objekt. Erzeuge ein PrintWriter -Objekt und übergib ihm dabei das soeben erzeugte FileOutputStream - Objekt. Benutze die Objekt-Methode println(String text) der Klasse PrintWriter, um eine Zeichenkette 'auf einen Rutsch' in die Datei zu schreiben und schließe das PrintWriter -Objekt.

© 2005 Pohlig - Taulien Datenströme GK Informatik 3 Ausgabe in eine Datei Der letzte Schritt etwas genauer: println(String text) übergibt eine ganze Zeichenkette an das FileOutputStream -Objekt. Das Auslesen aus dieser Ausgabe-Pipeline und Schreiben in die Datei schließlich, leistet das Betriebssystem.

© 2005 Pohlig - Taulien Datenströme GK Informatik 4 Ausgabe in eine Datei... String dateiName = "Test.txt"; FileOutputStream speicherStrom = new FileOutputStream(dateiName); PrintWriter schreibeStrom = new PrintWriter(speicherStrom); schreibeStrom.println(text); schreibeStrom.close();... Ein Programm-Fragment:

© 2005 Pohlig - Taulien Datenströme GK Informatik 5 Ausgabe auf den Bildschirm Objekte der Klasse PrintWriter kann man z.B. auch dazu benutzen, Daten an einen Bildschirm zu senden: Erzeuge ein PrintWriter -Objekt und übergib ihm dabei den Standard-Ausgabestrom System.out. Benutze die Objekt-Methode println(String text) der Klasse PrintWriter, um eine Zeichenkette 'auf einen Rutsch' auf den Bildschirm zu schreiben und schließe das PrintWriter -Objekt.

© 2005 Pohlig - Taulien Datenströme GK Informatik 6 Ausgabe in eine Datei und auf den Bildschirm import java.io.*; public class Ausgaben { public static void main (String[] args) throws IOException { String text = "Java ist toll!"; String dateiName = "Test.txt"; FileOutputStream speicherStrom = new FileOutputStream(dateiName); PrintWriter schreibeStrom1 = new PrintWriter(speicherStrom); schreibeStrom1.println(text); schreibeStrom1.close(); PrintWriter schreibeStrom2 = new PrintWriter(System.out); schreibeStrom2.println(text); schreibeStrom2.close(); } }

© 2005 Pohlig - Taulien Datenströme GK Informatik 7 PrintWriter Beide Klassen sind von OutputStream abgeleitet: Dem Konstruktor von PrintWriter kann sowohl eine Instanz von FileOutputStream als auch von PrintStream übergeben werden: Ein FileOutputStream -Objekt ist auch ein OutputStream -Objekt. Ein PrintStream -Objekt ist auch ein FilterOutputStream -Objekt und auch ein OutputStream -Objekt.

© 2005 Pohlig - Taulien Datenströme GK Informatik 8 PrintWriter - Objekt OutputStream-Objekte Die Kapselung der Daten in ein FileOutputStream - bzw. in ein PrintStream -Objekt erlaubt einen komfortablen Umgang mit Daten-Strömen. Grafisch lässt sich das so darstellen: Java-Programm FileOutputStream - Objekt PrintWriter - Objekt Bildschirm System.out Festplatte Übernimmt das Betriebsystem OutputStream-Objekte

© 2005 Pohlig - Taulien Datenströme GK Informatik 9 Lesen aus einer Datei Ein BufferedReader -Objekt liest aus einer Eingabe-Pipeline. Die Methode readLine() aus dieser Klasse liest aus der Pipeline den ganzen Inhalt und übergibt ihn Java als Zeichenkette. Das Lesen aus einer Datei kann man sich in zwei Schritte aufgeteilt vorstellen:

© 2005 Pohlig - Taulien Datenströme GK Informatik 10 Lesen aus einer Datei import java.io.*; public class Einlesen { public static void main (String[] args) throws IOException { String dateiName = "Test.txt"; FileReader dateiLeser = new FileReader(dateiName); BufferedReader eingabe1 = new BufferedReader(dateiLeser); String text1 = eingabe1.readLine(); System.out.println(text1); InputStreamReader vonTastatur = new InputStreamReader(System.in); BufferedReader eingabe2 = new BufferedReader(vonTastatur); String text2 = eingabe2.readLine(); System.out.println(text2); } }

© 2005 Pohlig - Taulien Datenströme GK Informatik 11 FileReader Ein FileReader -Objekt ist auch ein Reader -Objekt. Dem Konstruktor von BufferedReader kann sowohl eine Instanz von FileReader als auch von InputStreamReader übergeben werden: Beide Klassen sind von Reader abgeleitet: Ein InputStreamReader ist auch ein ein Reader -Objekt.

© 2005 Pohlig - Taulien Datenströme GK Informatik 12 InputStreamReader Ein InputStreamReader ist eine Brücke zwischen byte -Strömen und character - Strömen: Er liest bytes und decodiert sie in char -Zeichen, wobei ein bestimmtes charset verwendet wird. Das verwendete charset kann entweder explizit angegeben werden oder es wird das Standard- charset der jeweiligen Plattform verwendet.

© 2005 Pohlig - Taulien Datenströme GK Informatik 13 Daten an einen anderen Rechner im Netzwerk senden PrintWriter - Objekt Java-Programm FileOutputStream - Objekt PrintWriter - Objekt Bildschirm System.out Festplatte OutputStream-Objekte PrintWriter - Objekt anschluss. getOutputStream() Ein anderer Rechner im Netz Die Palette von Ausgabeströmen wird erweitert. Ziel des Stromes soll ein weiterer Rechner im Netzwerk sein.

© 2005 Pohlig - Taulien Datenströme GK Informatik 14 Senden von Daten an einen entfernten Rechner Man benötigt dazu ein Socket -Objekt, das man sich als eine Art Verbindungsstecker vorstellen kann. Der Konstruktor erwartet als Parameter die Bezeichnung des entfernten Rechners (z. B. seine IP-Adresse) und einen Port, über den die Kommunikation laufen soll. Mit der Methode getOutputStream() liefert das Socket - Objekt den Ausgabestrom für den Zielrechner.

© 2005 Pohlig - Taulien Datenströme GK Informatik 15 Der Client import java.net.*; //enthält die Klasse Socket import java.io.*; public class Client { public static void main (String[] args) throws IOException, UnknownHostException { Socket anschluss = new Socket(" ", 6000); PrintWriter schreibeStrom = new PrintWriter( anschluss.getOutputStream(), true); schreibeStrom.println("Ich gruesse Dich"); } } Damit die Daten gesendet werden können, muss der entfernte Rechner empfangsbereit sein.

© 2005 Pohlig - Taulien Datenströme GK Informatik 16 Daten von einem entfernten Rechner empfangen Java-Programm InputStreamReader - Objekt lauschen. getInputStream() Ein anderer Rechner im Netz Um Daten von einem Rechner im Netzwerk empfangen zu können, benötigt man einen Eingabe-Strom.

© 2005 Pohlig - Taulien Datenströme GK Informatik 17 Der Server import java.net.*; import java.io.*; public class Server { public static void main (String[] args) throws IOException{ ServerSocket anschluss = new ServerSocket(6000); while(true){ Socket lauschen = anschluss.accept(); InputStreamReader portLeser = new InputStreamReader( lauschen.getInputStream()); BufferedReader eingabe = new BufferedReader(portLeser); String text = eingabe.readLine(); System.out.println("von Client: " + text); } } }