15 Ein-/Ausgabe Kommunikation. Dateien. Schreiben und Lesen von Dateien. Sockets. Übungsaufgaben

Größe: px
Ab Seite anzeigen:

Download "15 Ein-/Ausgabe 15-1. Kommunikation. Dateien. Schreiben und Lesen von Dateien. Sockets. Übungsaufgaben"

Transkript

1 15 Ein-/Ausgabe 15-1 Inhalt Kommunikation Dateien Schreiben und Lesen von Dateien Übersetzung von Unicode in lokale Codierungen Dateien im Netz Sockets Übungsaufgaben Dateien Vielleicht sollten wir zuerst versuchen, Dateien auf der lokalen Festplatte zu finden und zu bearbeiten. Dazu verwendet man ein File-Objekt. Die Behandlung und Darstellung von Dateinamen ist systemspezifisch. Java versucht daher, Details zu abstrahieren. Immerhin bietet die Klasse File dennoch Methoden um nach Dateien zu suchen, sowie Dateinamen darauf zu untersuchen, ob die Dateien les- und schreibbar sind, oder ob der Name gar einem Directory gehört. Im folgenden Beispiel finden wir alle Dateien mit der Endung.txt. Man könnte dazu auch das Interface FilenameFilter verwenden. Es geht aber auch so. Erstellen Sie zum Ausprobieren eine Datei file.txt mit dem Inhalt Erste Zeile äöüß und vielleicht irgend eine zweite Datei mit der Endung.txt. { // get the file.txt file File file=new File("file.txt"); if (file.exists() &&!file.isdirectory()) { System.out.println("Datei "+file.getname()+" gefunden"); System.out.println("Voller Name: "+file.getabsolutepath()); // get all text files File dir=new File("."); String[] list=dir.list(); for (int i=0; i<list.length; i++) if (list[i].endswith(".txt")) { long length=new File(dir,list[i]).length(); // get length

2 15 Ein-/Ausgabe 15-2 System.out.println(list[i]+" ["+length+"]"); Beachten Sie, daß das Paket java.io importiert werden muß. Das Programm gibt den vollen Pfad der Testdatei aus und dann alle Textdateien mit ihrer Länge. Dazu verwendet es die list-methode von File. Diesmal muß der Dateiname ein Directory sein. Wir verwenden das aktuelle Directory, das gewöhnlich mit einem. bezeichnet wird. Zu jedem gefundenen Namen wird dann ein File-Objekt erzeugt, dessen Methode length die Länge der Datei ergibt. Schreiben und Lesen von Dateien Nachdem wir wissen, daß eine Datei test.txt existiert, versuchen wir ihren Inhalt zu lesen. Dazu verwenden wir einen InputStream, genauer einen FileInputStream. Wir wollen die Datei zunächst zeilenweise lesen. Dazu erzeugen wir einen Stream, der das kann, nämlich den DataInputStream aus unserem FileInputStream. Dieser Stream besitzt eine Methode readline, die null zurückgibt, wenn die Datei zu Ende ist. { DataInputStream in=new DataInputStream( new FileInputStream("file.txt")); while (true) { String s=in.readline(); if (s==null) break; System.out.println(s); { System.out.println(e); Erstellt man die Datei unter Windows und läßt das Programm in einer DOS-Box von Windows 95 laufen, ist die Ausgabe der deutschen Sonderzeichen äöüß nicht korrekt. Dies liegt daran, daß DOS die Zeichen anders kodiert als Windows. Erst mit Java 1.1 läßt sich dieses Manko einfach beheben. Die Methode DataInputStream.readLine ist Java spezifisch und sollte in Java 1.1 nicht verwendet werden. Statt dessen wird BufferedInputReader.readLine verwendet (siehe unten). Die Klasse InputStream (und damit auch FileInputStream) besitzt auch die Methode read zum Lesen eines Bytes. Die Methode available liefert die Anzahl der verfügbaren Zeichen.

3 15 Ein-/Ausgabe 15-3 { InputStream in=new FileInputStream("file.txt"); while (in.available()>0) { System.out.print((int)in.read()+" "); in.close(); { System.out.println(e); System.out.println(); Die Ausgabe ist steht dabei für E, das erste Zeichen in der Datei. Das Zeichen 246 ist tatsächlich das korrekte Unicode-Zeichen für ä. Dies liegt aber nur daran, daß die ersten 254 Zeichen des europäischen Zeichensatzes (ISO 8859_1) mit den entsprechenden Unicode-Zeichen übereinstimmen. Erstellt man die gleiche Datei unter DOS, so sieht das Ergebnis anders aus Dies ist offenbar nicht dasselbe und auch unter Windows nicht korrekt. Benutzt man etwa ein koreanisches System und gibt dort die lokalen Sonderzeichen ein, so ist die Übersetzung in Unicode völlig falsch. Man beachte auch, daß unter Windows das Zeilenende durch 13 und 10 dargestellt wird. Unter Unix wird nur die 10 verwendet, und auf Apple-Rechnern gar nur die 13. Übersetzung von Unicode in lokale Codierungen Mit Java 1.1 stehen nun Klassen zur Verfügung, die eine Übersetzung der lokalen Codierung in Unicode erlauben. Dies sind die Reader-Klassen. Wir verwenden BufferedReader, eine effiziente, gepufferte Klasse. { InputStream is=new FileInputStream("file.txt"); Reader in=new BufferedReader( new InputStreamReader(is)); while (in.ready()) { int c=in.read(); if (c==-1) break; System.out.print(c+" "); in.close(); { System.out.println(e);

4 15 Ein-/Ausgabe 15-4 System.out.println(); System.out.println(System.getProperty("file.encoding")); Die Ausgabe dieses Programms ist zunächst absolut identisch. Dies liegt an der Übereinstimmung des europäischen, und damit für uns lokalen Zeichensatzes mit Unicode. Man kann aber nun auch die unter DOS erstellte Datei korrekt lesen, indem man die Kodierung explizit angibt. Reader in=new BufferedReader( new InputStreamReader(is,"Cp850")); CP850 steht für Codepage 850. Dies ist die unter DOS normalerweise in Deutschland eingestellte Codepage (siehe autoxec.bat). Da per Default die lokale Codepage genommen wird, werden so alle lokal erstellten Files korrekt in Unicode übersetzt. Mit Java 1.1 hat sich auch das zeilenweise Lesen und Schreiben geändert. Es steht nun die Klasse BufferedReader zum Lesen und PrintWriter zum Schreiben zur Verfügung. Hier ist ein Beispiel, das die Datei file.txt vom DOS-Format (Codepage 850) in das lokale Format konvertiert. { InputStream is=new FileInputStream(args[0]); BufferedReader in=new BufferedReader( new InputStreamReader(is,"Cp850")); OutputStream os=new FileOutputStream(args[1]); PrintWriter out=new PrintWriter( new OutputStreamWriter(os)); while (true) { String s=in.readline(); if (s==null) break; out.println(s); in.close(); out.close(); { System.out.println(e); Man beachte immer, daß Dateien geschlossen werden müssen, um anderen Programmen zur Verfügung zu stehen. Die Klasse, die PrintWriter in Java entspricht ist, PrintStream. Will man in Java 1.1 Bytes ausgeben, so kann man DataOutputStream.write() weiter direkt verwenden. Dateien im Netz Eines der Designziele von Java war die Programmierung von Netzanwendungen. Java bringt

5 15 Ein-/Ausgabe 15-5 daher eine Reihe von Klassen zur Kommunikation über TCPIP mit. Eine davon bringt die Möglichkeit, eine Datei direkt von einem WWW-Server zu lesen. Das folgende Beispiel kopiert eine Datei byteweise vom Internet. Die Befehlszeile java Test mgf.html kopiert das Netzdokument an der entsprechenden URL auf die lokale Datei mgf.html. Netzdokumente werden über eine URL (uniform ressource locator) angesprochen. Die erste Zeichenkette steht dabei für das verwendete Protokoll, in diesem Fall HTTP. Um die URL in Java zu verwalten, verwendet man einen der möglichen Konstruktoren der Klasse URL. In diesem Fall geben wir die URL vollständig wie in einem Browser ein. Es ist aber auch möglich, relative Adressen zu verwenden, etwa URL dir=new URL(" URL url=new URL(dir,"mgf_profs.html"); Man kann auch die URL nach dem Erzeugen analysieren, etwa mit den Methoden getprotocol(), gethost(), getfile(). Es folgt der Code für die Übertragung der Datei aus dem Netz. import java.net.*; { get(args[0],args[1]); static void get (String urltag, String filename) { URL url=new URL(urltag); InputStream in=url.openstream(); int b; FileOutputStream out=new FileOutputStream(filename); while (true) { b=in.read(); if (b==-1) break; out.write(b); in.close(); out.close(); { System.out.println(e); Bei einem Applet muß beachtet werden, daß es nur von dem Server lesen kann, von dem es geladen wurde. Meist muß man die Datei von derselben Stelle aus laden, wo die Klassendatei auf dem Server liegt. Dazu verwendet man folgenden Code BufferedReader in=new BufferedReader(new DataInputStream( (new URL(getCodeBase(),filename)).openStream())); getcodebase ist eine Methode von Applet, die eine URL auf die Adresse zurückgibt, von der das Applet geladen wurde. Der zusätzliche Parameter bei new URL() spezifiziert die Datei, die zu laden ist.

6 15 Ein-/Ausgabe 15-6 Bei Java 1.1 ist es allerdings bequemer solche Dateien zusammen mit den Klassen in ein Archiv zu packen und mit dem Applet direkt zu übertragen. Die Dateien werden dabei als Ressource angesprochen. Sockets Sockets dienen zur Kommunikation über das Internet. Gewöhnlich wartet ein Server auf Verbindungen und die sogenannten Clients nehmen Kontakt mit dem Server auf. Jeder Computer hat mehrere Ports, an denen er Verbindungen aufnehmen kann. Ein Port kann mehrere Verbindungen gleichzeitig bedienen. Ein Server wartet aber immer nur auf einem Port. Ein Beispiel für einen Port ist 23, der Telnet-Port. Andere Ports sind für FTP (file transfer protocol), SMTP (simple mail transfer protocol), POP (post office protocol) etc. reserviert. Für jeden dieser Port wartet ein Dämon-Prozess im Hintergrund darauf, Verbindungen aufzunehmen. Typischerweise heißen diese Prozesse telnetd, ftpd, smtpd usw. Wir wollen als erstes einen solchen Dämon schreiben. Dazu werden wir auf einem Port auf eine Verbindung warten, und bei Kontaktaufnahme einfach alle Eingaben zurückgeben (außer QUIT, was die Kommunikation beenden soll). Dies ist sozusagen ein Echo-Dämon. Das Programm wird zunächst einen Socket erzeugen, der auf einem Port wartet. Die Ports bis 1000 sind für definierte Zwecke reserviert. Wir verwenden einfach den Port Sollte dieser Port schon von einem anderen Dämon besetzt sein, wird es eine BindException geben. Falls ein Programm mit dem Socket Kontakt aufnimmt, so starten wir einen Thread, der die Verbindung aufnimmt. Dazu dient eine Instanz der Klasse echod, die ein Runnable implementiert. Diese Klasse besorgt sich Ein- und Ausgabeströme. Nebenbei verwenden wir als weitere Neuerung die Ausgabe auf System.err, die für Fehlermeldungen gedacht ist. import java.net.*; public class echod implements Runnable { PrintWriter Out; BufferedReader In; public echod (Socket socket) // generiere Ein- und Ausgabestreams und einen Thread { Out=new PrintWriter( new DataOutputStream(socket.getOutputStream()),true); In=new BufferedReader(new InputStreamReader( new DataInputStream(socket.getInputStream()))); new Thread(this).start(); // starte eine Thread (und damit run()) { System.err.println(e);

7 15 Ein-/Ausgabe 15-7 public static void main (String args[]) // generiere wartenden Socket { ServerSocket server=new ServerSocket(6000); while (true) // Läßt sich nur durch CNTRL-C abbrechen { Socket socket=server.accept(); // Socket wartet new echod(socket); // Verbindung gefunden { System.err.println(e); public void run () // der Thread, der eine Verbindung verwaltet. { while (true) // Echo-Schleife { String s=in.readline(); if (s.equals("quit")) break; Out.println("Echo: "+s); // Streams immer schließen: In.close(); Out.close(); { System.out.println(e); Die Kommunikation erfolgt hier synchron. Der Server liest immer eine Zeile und schreibt seine Antwort zurück. Viele Protokolle beruhen auf solchen synchronen Antworten. Im Prinzip könnte das Protokoll auch asynchron laufen. Der Server würde dann an einer beliebigen Stelle senden können. Sie können das obige Programm mit einem Telnet-Client testen. Dazu geben Sie einfach telnet localhost 6000 ein, nachdem in einer anderen Kommandozeile der Echo-Server mit java echod gestartet wurde. Nun können Sie blind eine Zeile schreiben und der Server wird die Zeile zurückgeben. Man kann aber auch das lokale Echo in Telnet einstellen und ist dann in der Lage zu lesen, was man eingibt. Wir wollen jedoch ein Javaprogramm schreiben, das mit dem Server Kontakt aufnehmen kann. Ein solches Programm kann im Prinzip synchron arbeiten. Es würde dann immer eine Zeile einlesen und eine Zeile empfangen. Wir wollen aber ein asynchrones Programm schreiben. Dazu benötigt man einen separaten Thread, der die Eingaben entgegen nimmt. import java.net.*; public class client implements Runnable

8 15 Ein-/Ausgabe 15-8 { PrintWriter Out; BufferedReader In; boolean Closed; public client (Socket socket) // Öffnet die Ströme und einen Lesethread { Out=new PrintWriter( new DataOutputStream(socket.getOutputStream()),true); In=new BufferedReader(new InputStreamReader( new DataInputStream(socket.getInputStream()))); Thread t=new Thread(this); // Der Lesethread Closed=false; t.start(); // Mache aus System.in einen Eingabestrom: BufferedReader in=new BufferedReader( new InputStreamReader(System.in)); while (!Closed) { String s=in.readline(); // Lies Zeile vom Terminal if (s==null s.equals("quit")) break; Out.println(s); // Gib sie wieder aus t.stop(); // Stoppe den Lesethread Out.close(); { System.err.println(e); public static void main (String args[]) { Socket socket=new Socket("localhost",6000); new client(socket); // Starte Kommunikation { System.err.println(e); public void run () // Der Lesethread { while (true) { String s=in.readline(); // Lies vom Server if (s==null) break; System.out.println("Server :"+s); // Schreibe ins Terminal In.close(); Closed=true; // Benachrichtigt den Schreibthread { System.err.println(e);

9 15 Ein-/Ausgabe 15-9 Dabei tritt ein Synchronisationsproblem auf bezüglich des Endes der Kommunikation. In unserem Fall wird durch die Eingabe von QUIT die Kommunikation vom Server getrennt (siehe Porgramm oben) und durch Eingabe von quit vom Client. Im ersten Fall wird die Schleife im Lesethread unterbrochen, und dann mit einer Variablen Closed die Schleife im Konstruktor. Der Benutzer muß allerdings noch eine Zeile eingeben, bevor das Programm endet. Dies könnte man dadurch vermeiden, daß man einen separaten Schreibthread einsetzt, der mit stop unterbrochen wird. Im zweiten Fall wird die Schreibschleife im Konstruktor unterbrochen und der Lesethread mit stop beendet. Die Methode Thread.stop ist zwar im neuen Java 1.2 als veraltet bezeichnet, aber hier besteht eigentlich kaum eine andere Möglichkeit, In.readLine() zu unterbrechen. Sie können das Programm auch mit ihrem SMTP-Server testen. Dazu tragen Sie den Servernamen und den Port 25 in main ein und starten den Client. Dann führt man mit dem Server folgenden Dialog. (Die Ausgaben des Servers sind mit Server: gekennzeichnet). D:\java\kurs>java client Server :220 eo-dec-mathsrv.ku-eichstaett.de ESMTP Sendmail... HELO test Server :250 eo-dec-mathsrv.ku-eichstaett.de Hello... pleased to meet you MAIL FROM: Server :250 Sender ok RCPT TO: Server :250 Recipient ok DATA Server :354 Enter mail, end with "." on a line by itself test. Server :250 LAA28080 Message accepted for delivery QUIT Server :221 eo-dec-mathsrv.ku-eichstaett.de closing connection Der Server wird die Mail an die angegebene Adresse schicken. Dies ist ein typisches Beispiel für ein synchrones Protokoll. FTP, POP etc. sind ähnlich aufgebaut. Übungsaufgaben 1. Schreiben Sie ein Programm, das eine Textdatei in das MS-DOS-Format kopiert. Dabei sollen die Zeilenenden mit 13 und 10 markiert werden. 2. Schreiben Sie ein Programm, das die Längen aller Dateien in allen Unterverzeichnissen des in der Kommandozeile angegebenen Verzeichnisses zusammenrechnet. 3. Schreiben Sie ein Programm, das nur Dateien mit einer bestimmten Endung zusammenzählt. Die Endung wird als zweiter Parameter in der Kommandozeile angegeben. 4. Schreiben Sie auf der Basis von 2. ein Programm, das alle Dateien mit einer

10 15 Ein-/Ausgabe bestimmten Endung zeilenweise einliest und nach einem bestimmten String durchsucht (dritter Parameter der Kommandozeile). Der Name der Dateien, in denen der String vorkommt, soll ausgegeben werden. 5. Verbessern Sie das client-programm dahingehend, daß es die Ausgaben in einer TextArea darstellt und die Eingaben von einem TextField entgegennimmt. Beide sollen in einem Frame enthalten sein. Außerdem soll es den Server und den Port aus der Kommandozeile lesen (für den Port verwenden Sie Integer.parseInt). Drittens soll es zeichenweise vom Server lesen. Da das zeichenweise Anhängen an eine TextArea ineffektiv ist und nicht gut aussieht, soll das Programm die Eingaben in einem StringBuffer puffern, solange der Server noch Zeichen parat hat. Dies kann man mit der Methode available von DataInputStream testen. Aufgaben ohne Lösung Lösungen. 1. Schreiben Sie ein Programm, das die Wörter in einer Textdatei zählt. Wörter sind in diesem Sinne alle Strings, die durch Leerzeichen oder Tabulatorzeichen ((char )9) voneinander getrennt sind. 2. Schreiben Sie ein Programm, das eine Binärdatei kopieren kann. Die Datei darf natürlich nicht in Unicode übersetzt werden und auch nicht zeilenweise behandelt werden. 3. Schreiben Sie ein Programm das alle ä, ö, ü usw. in einer Textdatei durch ihr HTML-Äquivalent ä etc. ersetzt. (ß ist ß).

Referat: Netzwerkprogrammierung in Java

Referat: Netzwerkprogrammierung in Java 1.)ISO/OSI und Internet Referenzmodell Referat: Netzwerkprogrammierung in Java ISO/OSI 7 Schichtenmodell (1-Bitübertragung, 2-Sicherung, 3-Netzwerk, 4-Transport, 5-Sitzung, 6- Darstellung, 7-Anwendung)

Mehr

Client-Server TCP/IP - Kodierung

Client-Server TCP/IP - Kodierung Client-Server TCP/IP - Kodierung Die klassen Ein (engl. Sockel) ist eine bidirektionale Netzwerk-Kommunikationsschnittstelle, deren Verwaltung das Betriebssystem übernimmt. Die Kombination aus IP-Adresse

Mehr

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe und Ausgabe in Java Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe Beispiel1 public class Input1 { public static void main(string[] args) { for (int i = 0; i < args.length;

Mehr

Verteilte Systeme - Java Networking (Sockets) 2 -

Verteilte Systeme - Java Networking (Sockets) 2 - Verteilte Systeme - Java Networking (Sockets) 2 - Prof. Dr. Michael Cebulla 06. November 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 30 Michael Cebulla Verteilte Systeme Gliederung Wiederholung:

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 15 Einstieg in die Informatik mit Java Streams Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Ein-Ausgabe 2 Klassenhierarchie (Byteorientiert) 3 Klassenhierarchie

Mehr

Verteilte Systeme - Java Networking (Sockets) -

Verteilte Systeme - Java Networking (Sockets) - Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP

Mehr

Beispiel E-Mail senden

Beispiel E-Mail senden Beispiel E-Mail senden E-Mail senden erfolgt nach dem SMTP-Protokoll auf Port 25 Das SMTP-Protokoll hat folgendes Format (RFC 821, RFC 2821) HELO Sendender Host MAIL FROM:

Mehr

Beispiel Time Client/Server

Beispiel Time Client/Server Beispiel Time Client/Server /** * * Programmbeschreibung: * --------------------- * Dieses Programm ermittelt über eine TCP/IP-Verbindung die Uhrzeit eines * entfernten Rechners, wobei es sowohl die Rolle

Mehr

Socket-Programmierung unter Java

Socket-Programmierung unter Java Socket-Programmierung unter Java 1 - Grundlagen: Datenströme Datenströme JAVA unterscheidet Streams und Reader/Writer Zur Dateneingabe: InputStream oder Reader Zur Datenausgabe: OutputStream oder Writer

Mehr

Java Fehlerbehandlung

Java Fehlerbehandlung Java Fehlerbehandlung 1 Fehlerbehandlung In jedem nicht-trivialen Programm kann es während der Laufzeit zu Fehlersituationen kommen. Dabei handelt es sich nicht unbedingt um Programmierfehler: z. B.: Programm

Mehr

Socket-Programmierung unter Java

Socket-Programmierung unter Java Datenströme -Programmierung unter Java 1 - Grundlagen: Datenströme JAVA unterscheidet Streams und Reader/Writer Zur Dateneingabe: InputStream oder Reader Zur Datenausgabe: OutputStream oder Writer Verwende

Mehr

Client-Server TCP/IP - Kodierung

Client-Server TCP/IP - Kodierung Client-Server TCP/IP - Kodierung Die Socketklassen Ein Socket (engl. Sockel) ist eine bidirektionale Netzwerk-Kommunikationsschnittstelle, deren Verwaltung das Betriebssystem übernimmt. Die Kombination

Mehr

Client-Server TCP/IP - Kodierung

Client-Server TCP/IP - Kodierung Client-Server TCP/IP - Kodierung (1.) (a.) Testen Sie das erste Beispiel aus dem Ordner 01: Starten Sie Client und Server auf dem gleichen PC, aber den Server zuerst! (b.) In welchem Bereich müssen die

Mehr

Handbuch konsultieren!

Handbuch konsultieren! Zeichenketten Klasse String Enthält zahlreiche Methoden z.b.: int length(): Anzahl der Zeichen in Zeichenkette String substring(int start): Unterzeichenkette ab Position start boolean equalsignorecase(string

Mehr

java.io Ziel Ressourcen Page 1 Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Java Tutorial Java API Dokumentation

java.io Ziel Ressourcen Page 1 Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Java Tutorial Java API Dokumentation java.io Ziel Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Ressourcen Java Tutorial Java API Dokumentation Page 1 Java API Prinzip Java IO-API ist für eine allgemeine

Mehr

Streams. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Streams. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Streams Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 4.7.07 G. Bohlender (IANM UNI Karlsruhe) Streams 4.7.07 1 / 7 Übersicht 1 Einführung

Mehr

Ausnahmen. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

Ausnahmen. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik Ausnahmen Zentralübung zur Vorlesung http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der heutigen Vorlesung: Arten von Fehlern Auslösen von Ausnahmen Vermeiden von Ausnahmen Ausnahmeklassen

Mehr

Lebenszyklus von Threads

Lebenszyklus von Threads Threads Umgangssprachlich Faden, Diskussionsfaden, Gewinde, Faser, Garn, roter Faden Threads ermöglichen Nebenläufigkeit (parallele Ausführung von Anwendungsteilen). Typisch für Threads ist,dass sie zu

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de Aufgaben: Ein Ausgabe Ein Rechner verwaltet nicht nur Daten, die während der Laufzeit des Programms erzeugt werden. Die meisten Programme greifen auf ältere Datenbestände zurück oder erzeugen für einen

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

E-Mail. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen?

E-Mail. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen? E-Mail Nachrichtenübertragung 1 Wie werden Nachrichten Übertragen? Über Protokolle: SMTP (Simple Mail Transfer Protocol) POP3 (Post Office Protocol Version 3) IMAP (Internet Message Access Protocol) 2

Mehr

Ausnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Ausnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung : http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Fehlerarten Bei der Programmierung können viele Arten von Fehlern auftreten: Syntaktische Fehler

Mehr

Ausnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Ausnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Fehlerarten Bei der Programmierung können viele Arten von Fehlern auftreten:

Mehr

Kommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen

Kommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen Kommunikationsnetze Gliederung 1. Socket-Programmierung unter C 2. Socket-Programmierung unter Java Gliederung Berkeley Sockets (Erste freie TCP/IP-Implementierung in Berkeley UNIX): SOCKET: Erzeugen eines

Mehr

Ausnahmen. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Ausnahmen. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Fehlerarten Bei der Programmierung

Mehr

Programmieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Programmieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 26 Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien 2 / 26 Dateien: Allgemeines Kaum

Mehr

Ausnahmebehandlung PK11W-16,

Ausnahmebehandlung PK11W-16, Ausnahmebehandlung PK11W-16, 05. 12. 2011 1 Laufzeitfehler weitere Ausführung unmöglich Ausnahme geworfen Beispiele: ArrayIndexOutOfBoundsException NullPointerException ArithmeticException AssertionError

Mehr

Programmieren II. Sockets. Vorlesung 16. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010. Sockets.

Programmieren II. Sockets. Vorlesung 16. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010. Sockets. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 19 2 / 19 Über einen Socket kann eine Anwendung die Implementierung des Netzwerkprotokolls des darunter liegenden Betriebssystems

Mehr

Ausnahmen und IO. Fehler, Ausnahmen, Java- Exception, throw, catch, Ströme, Puffer, Dateien lesen, schreiben, Tastatur, Terminal, HTTP

Ausnahmen und IO. Fehler, Ausnahmen, Java- Exception, throw, catch, Ströme, Puffer, Dateien lesen, schreiben, Tastatur, Terminal, HTTP Ausnahmen und IO Fehler, Ausnahmen, Java- Exception, throw, catch, Ströme, Puffer, Dateien lesen, schreiben, Tastatur, Terminal, HTTP Fehler - Ausnahmen Fehler Fehler :: Unreparierbares Unreparierbares

Mehr

Java Einführung IO (Eingabe/Ausgabe)

Java Einführung IO (Eingabe/Ausgabe) Java Einführung IO (Eingabe/Ausgabe) Inhalt dieser Einheit Ein-/Ausgabe: Arbeiten mit Verzeichnissen und Dateien Schreiben und Lesen von Dateien bzw. Datenströmen Fehlerbehandlung beim Schreiben und Lesen

Mehr

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Verbindungsorientiertes Protokoll, zuverlässig, paketvermittelt stream-orientiert bidirektional gehört zur Transportschicht, OSI-Layer 4 spezifiziert in RFC 793 Mobile

Mehr

Dateien. DVG Dateien 1

Dateien. DVG Dateien 1 Dateien DVG2-05 - Dateien 1 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem JAVA-Programm her. Das Filesystem enthält als Objekte Devices, Verzeichnisse

Mehr

Ausnahmen. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Ausnahmen. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung https://www.sosy-lab.org/teaching/2017-ws-infoeinf/ WS17/18 Fehlerarten Bei der Programmierung

Mehr

Ausnahmen. Dr. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Ausnahmen. Dr. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Dr. Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-16-17/infoeinf WS16/17 Action required now 1. Smartphone: installiere die App "socrative

Mehr

Arten von Streams. Daten. Bytes (8-Bits) Java Programm. Daten. Java Programm. Characters (16 - Bits)

Arten von Streams. Daten. Bytes (8-Bits) Java Programm. Daten. Java Programm. Characters (16 - Bits) Datenströme Arten von Streams Daten 0 1 1 0 1 0 1 0 Java Programm Bytes (8-Bits) Daten 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 Java Programm Characters (16 - Bits) Byteströme(InputStream/OutputStream) I Java Programm

Mehr

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets.

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Timer Sockets SMTP-Client 2 / 26 Timer Mit einem Timer können bestimmte Aktionen periodisch wiederkehrend durchgeführt

Mehr

Verbindungen zu mehreren Clients. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 23: Netzwerkprogrammierung/ Kommunikation 2

Verbindungen zu mehreren Clients. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 23: Netzwerkprogrammierung/ Kommunikation 2 Universität Osnabrück 1 Verbindungen zu mehreren Clients 3 - Objektorientierte Programmierung in Java Vorlesung 23: Netzwerkprogrammierung/ Kommunikation 2 Wie könnte das bereits vorgestellte Programm

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

Ausdrucksbäume in verschiedenen Darstellungen

Ausdrucksbäume in verschiedenen Darstellungen Ausdrucksbäume in verschiedenen Darstellungen SWE-42 Infix mit notwendigen Klammern: (a + b) / (c - d) Infix vollständig geklammert: (((a) + (b)) / ((c) - (d))) Postfix a b + c d - / Präfix / + a b - c

Mehr

Objektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer

Objektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer Java Kurs Objektorientierung II & die Java Klassenbibliothek Kristian Bergmann und Arthur Lochstampfer Vergleich class Apfel { String farbe; int gewicht; String geerntetin; class Erdbeere { String farbe;

Mehr

Wie schreibt bzw. wie liest man die beiden unterschiedlichen Darstellungen?

Wie schreibt bzw. wie liest man die beiden unterschiedlichen Darstellungen? Problem 2: Wie schreibt bzw. wie liest man die beiden unterschiedlichen Darstellungen? Dazu stellt Java im Paket Ú º Ó eine Vielzahl von Klassen zur Verfügung... 15.1 Byteweise Ein- und Ausgabe Zuerst

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White

Mehr

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 4

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 4 Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing.Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP JAVA 4 IV. Threads, Audiodateien, Bilder, Datumsfunktion, Aufruf

Mehr

Programmieren 2 12 Netzwerke

Programmieren 2 12 Netzwerke Programmieren 2 12 Netzwerke Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Motivation Datenaustausch zwischen Programmen Spielstand Chat

Mehr

Programmieren 2 09 File-IO

Programmieren 2 09 File-IO Programmieren 2 09 File-IO Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Eingabe und Ausgabe in Java Daten im Programm während der Ausführungszeit:

Mehr

Networking. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H.

Networking. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Networking Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Networking Grundlagen Klasse Socket Klasse ServerSocket Klasse URL Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 2 Netzwerkprogrammierung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Programmieren I. Kapitel 15. Ein und Ausgabe

Programmieren I. Kapitel 15. Ein und Ausgabe Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Java I/O Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Java I/O: Input und Output mit Java Heute Ein-/Ausgabe

Mehr

Datenströme in Java. Zeichenkonvertierung

Datenströme in Java. Zeichenkonvertierung Datenströme in Java Arten von Strömen Ein- und Ausgabeoperationen sind in Java im Wesentlichen über Datenströme realisiert. Dabei werden zwei Arten von Datenströmen unterschieden; byteorientierte Ströme

Mehr

Einführung in die Informatik Files and Streams

Einführung in die Informatik Files and Streams Einführung in die Informatik Files and Streams Arbeiten mit Dateien und Streams Wolfram Burgard Cyrill Stachniss 5.1 Dateien Bisher gingen alle Ausgaben nach Standard output, d.h. auf den Monitor. Der

Mehr

Algorithmen und Programmierung III

Algorithmen und Programmierung III Musterlösung zum 4. Aufgabenblatt zur Vorlesung WS 2006 Algorithmen und Programmierung III von Christian Grümme Aufgabe 1 Amortisierte Analyse 10 Punkte Zu erst betrachte ich wie oft die letzte Ziffer

Mehr

Teil 1: Ein einfacher Chat

Teil 1: Ein einfacher Chat Teil 1: Ein einfacher Chat Verteilte Systeme / Chat Der Weg ist das Ziel Im Laufe dieses Projektes werden Sie schrittweise ein Chat-Programm entwickeln. Dabei werden Sie einiges über den Aufbau des Internets

Mehr

Vorlesung Programmieren. Java I/O: Input und Output mit Java. Ein-/Ausgabe von Daten. Java I/O. Heute. Grundlage fast aller Programme

Vorlesung Programmieren. Java I/O: Input und Output mit Java. Ein-/Ausgabe von Daten. Java I/O. Heute. Grundlage fast aller Programme Vorlesung Programmieren Java I/O Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Java I/O: Input und Output mit Java Heute Ein-/Ausgabe

Mehr

System.out.println("TEXT");

System.out.println(TEXT); Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class

Mehr

Networking. Motivation und Grundlagen Klasse Socket SMTP-Protokoll Exceptions. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H.

Networking. Motivation und Grundlagen Klasse Socket SMTP-Protokoll Exceptions. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Networking Motivation und Grundlagen Klasse Socket SMTP-Protokoll Exceptions Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Networking Motivation und Grundlagen Sockets Klasse URL SMTP-Protokoll

Mehr

Lesen und Schreiben von Dateien

Lesen und Schreiben von Dateien Lesen und Schreiben von Dateien Pfade, Text-Dateien und Binäre Dateien Dr. Beatrice Amrhein Überblick Der Verzeichnis-Pfad Kopieren, Verschieben, Ändern oder Löschen von Dateien Lesen und Schreiben von

Mehr

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Martin Schultheiß

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Martin Schultheiß Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Dateien: Allgemeines 2 Dateien lesen 3 Beispiel: CSV-Daten 4 Filter 5 Ausgabe in Dateien Dateien: Allgemeines Kaum eine

Mehr

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore. Hochschule Harz Versuch: fcopy Mit Java FB Automatisierung und Informatik Betriebssysteme Thema: Kopieren einer Datei unter der Kontrolle von Semaphoren Versuchsziele Konzepte der parallelen Programmierung

Mehr

Instrumentierung und Dekodierung

Instrumentierung und Dekodierung 116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so

Mehr

Java I Vorlesung Exceptions

Java I Vorlesung Exceptions Java I Vorlesung 8 Exceptions 14.6.2004 Exceptions (Ausnahmen) Klassen für Ein- und Ausgabe Ausnahmen Ausnahmen (Exceptions) sind ein Mechanismus zum kontrollierten Melden und Reagieren auf Fehler. Man

Mehr

Netzwerkprogrammierung & Threads

Netzwerkprogrammierung & Threads & Threads Praktikum aus Softwareentwicklung 2 Netzwerp. - 1 & Threads URL, URLConnection, UDP, TCP Threads Parallele Programme, Synchronisation, Netzwerp. - 2 Grundlagen (1/2) Kommunikation zwischen verteilten

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

Streams. V by WBR1&MOU2/BFH-TI. Berner Fachhochschule Hochschule für Technik und Informatik HTI

Streams. V by WBR1&MOU2/BFH-TI. Berner Fachhochschule Hochschule für Technik und Informatik HTI Ein- Ausgabe Streams Unterlagen zum Modul "OOP mit Java" V 3.0 2011 by WBR1&MOU2/BFH-TI Ein- Ausgabe, Streams V3.0 2011 by WBR1&MOU2/BFH-TI Definition: Berner Fachhochschule Streams Ein Stream ist eine

Mehr

Java I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus

Java I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus Java I/O Input / Output stream Library Regelt I/O über verschiedene Kanäle Filesystem Console Netzwerk Intern Führt notwendige Umwandlungen/Konvertierungen aus 1 Furchtbar viele Klassen BufferedInputStream

Mehr

Programmieren in Java

Programmieren in Java 17. Übung 1. Aufgabe Schreibe ein Programm, das eine Textdatei (z.b. *.java ) aus dem aktuellen Verzeichnis über eine TextArea auf ein Fenster des Bildschirms abbildet. Jede Zeile soll dabei durchnummeriert

Mehr

Grundlagen der Programmierung! Kapitel 10: Ein- und Ausgabe! Ziele dieses Kapitels! Datei! Das Problem!

Grundlagen der Programmierung! Kapitel 10: Ein- und Ausgabe! Ziele dieses Kapitels! Datei! Das Problem! Grundlagen der Programmierung Dr. Christian Herzog Technische Universität München Wintersemester 2014/2015 Ziele dieses Kapitels Sie verstehen das Konzept der Ströme Sie können Klassen wie Reader, Writer,

Mehr

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2 Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen

Mehr

Serielle Kommunikation - Kodierung

Serielle Kommunikation - Kodierung Serielle Kommunikation - Kodierung (1.) Erstellen Sie nachfolgende Klasse: Dabei haben die Methoden folgende Funktionen: exists(): Überprüft, ob eine serielle Schnittstelle existiert getproperties(): Liefert

Mehr

Netzwerkprogrammierung

Netzwerkprogrammierung Netzwerkprogrammierung 1 Netzwerkverbindungen Das Entwurfsziel von Java war: Einfache Verbindung zwischen Rechnern und SetBox-Systemen. Das Standardpaket java.net hilft bei allen Netzwerkverbindungen.

Mehr

Autoboxing - Nachtrag

Autoboxing - Nachtrag Autoboxing - Nachtrag Mit dem Autoboxing ist eine Reihe von Unregelmässigkeiten verbunden, die der Programmierer beachten muss, um Fehler zu vermeiden. aus: Christian Ullenboom Java ist auch eine Insel

Mehr

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Dr. Klaus Höppner

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Dr. Klaus Höppner Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 26 Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien 2 / 26 Dateien: Allgemeines Kaum

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

JAVA für Einsteiger. Streams und Dateien. eden market Autor: Norman Lahme

JAVA für Einsteiger. Streams und Dateien. eden market Autor: Norman Lahme JAVA für Einsteiger Streams und Dateien eden market Autor: Norman Lahme 1 Gliederung 1. Einleitung 2. Bildschirmausgabe und Tastatureingabe 3. Laden und Speichern von Tex ten 4. Laden und Speichern von

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 17 Einstieg in die Informatik mit Java String Tokenizer Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick Tokenizer 2 StringTokenizer 3 Verwendung von String.split

Mehr

Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt).

Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt). 3 Erste Programme 3.1 Übungsaufgabe Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt). 3.1.1 Aufgabe 1 Schreiben Sie ein C++ Programm, das einen String einliest und testet,

Mehr

Kapitel 12. Programmierkurs. Allgemeine Konzepte Byte-Streams versus Character-Streams

Kapitel 12. Programmierkurs. Allgemeine Konzepte Byte-Streams versus Character-Streams Kapitel 12 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln WS 07/08 Dateiein- und -ausgabe Byte-Streams versus Character-Streams Die abstrakte Klasse Writer FileWriter

Mehr

boolean ispalindrome = word.equalsignorecase(reverse.tostring());

boolean ispalindrome = word.equalsignorecase(reverse.tostring()); Bereich: Input/Output (2) Palindrome speichern Package: de.dhbwka.java.exercise.io Musterlösung Klasse: PalindromeFile package de.dhbwka.java.exercise.io; import java.io.bufferedreader; import java.io.file;

Mehr

Kapitel 15: Ausnahmen und

Kapitel 15: Ausnahmen und Kapitel 15: Ausnahmen und Ein-/Ausgabe Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter

Mehr

Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Java Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Java Übung Übung 3 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 2. Mai 2006 (UniDUE) 2. Mai 2006 1 / 17 Aufgabe 1 Umwandeln von do while in for Schleife. Listing 1: aufgabe3 1.java 1 public

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Ströme zur Ein- und Ausgabe Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 44 Ströme zur

Mehr

Client Server -Anwendungen mit UML und Java

Client Server -Anwendungen mit UML und Java 3. Informatiktag NRW Client-Server mit UML und Java - 1/40 29.3.2004 Client Server -Anwendungen mit UML und Java 3. Informatiktag NRW 29.3.04 Barbara Leipholz-Schumacher Euregio-Kolleg, Würselen 3. Informatiktag

Mehr

TCP und UDP Sockets in Java

TCP und UDP Sockets in Java TCP und UDP Sockets in Java Grundlegende Mechanismen Server reserviert Port: Klient: - Server: bind Server nimmt Verbindungswünsche an Klient: - Server: listen Klient möchte sich verbinden Klient: connect;

Mehr

3.11 Ausnahmen und Ein-/Ausgabe

3.11 Ausnahmen und Ein-/Ausgabe 3.11 Ausnahmen und Ein-/Ausgabe Wir werden uns in diesem Kapitel näher mit Ausnahmen und Ein-/Ausgabe in Java beschäftigen. Praktische Informatik I Wolfgang 3. Die Programmiersprache Java 3.11-1 Übersicht

Mehr

Streams. Thomas Schwotzer

Streams. Thomas Schwotzer Streams Thomas Schwotzer 1 Einführung Wir haben uns mit abstrakten Klassen beschäftigt. Ganz generell ist das Konzept der Abstraktion ein grundsätzliches in der Informatik. Wir ITler bauen Software-Maschinen.

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG FORTGESCHRITTENE KONZEPTE Tobias Witt 26.03.2014 tobias.witt@hhu.de 25.12.01.30 Bürozeiten: 09 Uhr - 12 Uhr FEHLERBEHANDLUNG KLASSISCHER ANSATZ Fehlercode als Rückgabewert

Mehr

Java Einführung Exception Handling. Kapitel 17

Java Einführung Exception Handling. Kapitel 17 Java Einführung Exception Handling Kapitel 17 Inhalt Was sind Exceptoins? Wie werden sie ausgelöst? Wie kann man Exceptions behandeln? Erweiterung von Exceptions Spezialfall IO 2 Ausnahmezustände Im Ablauf

Mehr

hue12 January 24, 2017

hue12 January 24, 2017 hue12 January 24, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr

Dateien, Streams. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.

Dateien, Streams. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E. Dateien, Streams INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Informationsaustausch Programme tauschen Information mit Umgebung über - Kommandozeilen Argumente -

Mehr

Aufgabe: Hinweise zu der Farbwahl der Texte/Wörter: Orange ist angegeben, wo etwas ergänzt werden soll.

Aufgabe: Hinweise zu der Farbwahl der Texte/Wörter: Orange ist angegeben, wo etwas ergänzt werden soll. Aufgabe: Im Folgenden ist der Code des selbstlernenden Spiels Tiere Raten abgedruckt. Der Code ist noch nicht lauffähig. Damit das Spiel gespielt werden kann, müssen in der Klasse Tiere Raten einige Dinge

Mehr

Institut für Betriebssysteme und Rechnerverbund Übungslösungen zur Vorlesung Verteilte Systeme, WS 02/03 http:www.ibr.cs.tu-bs.de/lehre/ws0203/vs/ Dozent: Prof. Dr. Stefan Fischer

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

Aufgabe 1: Collections: ZockerBank

Aufgabe 1: Collections: ZockerBank Aufgabe 1: Collections: ZockerBank Herzlichen Glückwunsch! Nachdem Sie den Java-Kurs fast erfolgreich abgeschlossen haben, winkt Ihnen bereits ein Auftrag der Bank Geizkragen und Zocker Gesellschaft ohne

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Ausnahmen

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Ausnahmen Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Ausnahmen Motivation Anwendungsbeispiel 1: java Excep1 a: 15 b: 3 a / b = 5 Job done. Konsole Anwendungsbeispiel 2: Konsole java

Mehr

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL TCP/IP: Standard Protokolle Konrad Rosenbaum, 2006/7 DNS - Domain Name System hierarchische, global verteilte Datenbank löst Namen in IP-Adressen auf Host hat einen primären Nameserver, der Fragen selbst

Mehr