Streams. Programmiermethodik. Eva Zangerle Universität Innsbruck

Größe: px
Ab Seite anzeigen:

Download "Streams. Programmiermethodik. Eva Zangerle Universität Innsbruck"

Transkript

1 Streams Programmiermethodik Eva Zangerle Universität Innsbruck

2 Dateien In Java gibt es eine File-Klasse. Liefert Informationen über Dateien und Verzeichnisse. Diese Klasse wurde eingeführt, um Dateioperationen plattformunabhängig durchzuführen. Findet man im Paket java.io. Ein konkretes File-Objekt repräsentiert eine Datei oder ein Verzeichnis im Dateisystem. Der Verweis wird durch einen Pfadnamen spezifiziert. Absoluter Pfadname (von der Wurzel ausgehend) Relativer Pfadname (abhängig vom aktuellen Verzeichnis) Pfadangaben sind plattformabhängig (siehe API): Programmiermethodik - Streams 2

3 File-Klasse Konstruktor stellt die Beziehung zu einer Datei im Verzeichnis her. Beispiele für Konstruktoren File(String parent, String child) File(String pathname) Beispiele String parent = System.getProperty("user.dir") + File.separator + "Test"; File f1 = new File("test1.txt"); File f2 = new File(parent,"test2.txt"); (aktuelles Arbeitsverzeichnis, Separator für Pfade (OS-abhängig) wird aber auch direkt von der jeweiligen JVM abgeändert) Siehe auch FileReaderApplication.java Programmiermethodik - Streams 3

4 File-Klasse (einige Methoden) Allgemeine Methoden (Informationen über Dateien) public boolean canread() public boolean canwrite() public boolean exists() public long lastmodified() public String getabsolutepath() public String getparent() public String [] list() //Verzeichnisinhalt Methoden für die Manipulation public boolean renameto(file dest) public boolean setlastmodified(long time); public boolean delete() public boolean createnewfile() throws IOException public boolean mkdir() Siehe externes Beispiel FileDemo.java Programmiermethodik - Streams 4

5 Datenströme

6 Motivation Die Java Bibliothek enthält eine ganze Reihe von Klassen, um anspruchsvolle Ein- bzw. Ausgabeoperationen zu bewältigen und von verschiedenen Datenquellen zu lesen und zu schreiben. Das Ein- /Ausgabemodell in Java basiert auf sequentiellen Datenströmen. Beim Schreiben erzeugt man einen Ausgabestrom (in eine Datei oder einen Speicher). Beim Lesen kommen die Daten von einem Eingabestrom (von einer Datei oder einem Speicher). Programmiermethodik - Streams 6

7 I/O-Begriffe Stream Die interne Repräsentation einer (externen) Datei oder einer Input/Output-Einheit in einem System. Sequentielle Abarbeitung Input-Stream Lesen der Daten von einer Datei oder einer Eingabeeinheit in einen Stream. Output-Stream Schreiben der Daten von einem Stream in eine Datei oder eine Ausgabeeinheit. Source/Destination Jeder Stream hat eine Quelle (Source) und eine Senke (Sink, Destination). Programmiermethodik - Streams 7

8 Beispiele InputStream JMenuBar mbar = new JMenuBar(); JMenu menu = new JMenu( "Datei" ); JMenuItem item = new JMenuItem( "Öffnen" ); item.setaccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_MASK) ); item.addactionlistener( this ); menu.add( item ); InputStream mbar.add( menu ); setjmenubar( mbar ); add( viewcomponent ); setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); setsize( 600, 400 ); } public void actionperformed( ActionEvent e ) { JFileChooser d = new JFileChooser(); d.setfilefilter( new FileFilter() } public boolean accept(file f) Programm OutputStream JMenuBar mbar = new JMenuBar(); JMenu menu = new JMenu( "Datei" ); JMenuItem item = new JMenuItem( "Öffnen" ); item.setaccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_MASK) ); item.addactionlistener( this ); menu.add( item ); mbar.add( menu ); setjmenubar( mbar ); add( viewcomponent ); setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); setsize( 600, 400 ); } OutputStream public void actionperformed( ActionEvent e ) { JFileChooser d = new JFileChooser(); d.setfilefilter( new FileFilter() } public boolean accept(file f) Programm Programmiermethodik - Streams 8

9 Strom (Modell) Ein Datenstrom wird durch eine Klasse repräsentiert. Datenstrom hat private Objektvariablen (Name, Position etc.). Datenstrom hat bestimmte Methoden. Beispiele read() Liest ein Element aus dem Strom. write() Schreibt ein Element in den Strom. Vorteil Systemabhängigkeit wird in wenigen Klassen isoliert. Rest des Programms bleibt systemneutral. Programmiermethodik - Streams 9

10 Standard I/O Einfachster I/O - Mechanismus Texteingabe von der Tastatur Textausgabe auf den Bildschirm ("Konsole") Auf praktisch jedem System verfügbar! Minimale Systemanforderungen Standard - I/O über vordefinierte Objekte System.in System.out System.err Standard-Eingabe ( Tastatur) Standard-Ausgabe ( Bildschirm) Fehlerausgabe ( Bildschirm) in, out, error Statische, öffentliche Datenelemente der Klasse System Programmiermethodik - Streams 10

11 Stream-Klassen Es gibt zwei Arten von Streams: Byteströme (z.b. pdf, Bilder, etc.) Zeichenströme Für Byteströme und Zeichenströme gibt es je 2 Arten: Datenströme Sind mit bestimmten Datenquellen oder Datensenken verbunden. Lesen von Datenquellen bzw. Schreiben in Datensenken! Filterströme Sind nicht mit einer Quelle oder Senke verknüpft. Sind mit einem Datenstrom verbunden. Agieren wie ein Filter vor diesem Datenstrom. Vorverarbeiten/Nachbearbeiten von Daten! Programmiermethodik - Streams 11

12 Stream-Abarbeitung Lesen Öffnen, lesen, schließen Für Byteströme: InputStream Für Zeichenströme: Reader Schreiben Öffnen, schreiben, schließen Für Byteströme: OutputStream Für Zeichenströme: Writer Programmiermethodik - Streams 12

13 Zeichenströme Zeichenströme enthalten Texte in ASCII - oder Unicode. Operationen Einzelne Zeichen lesen/schreiben Strings lesen/schreiben char-arrays lesen/schreiben Zeichenströme werden abgeleitet von Reader oder Writer Reader/Writer sind abstrakte Klassen. Konvertierung von Encodings etc. wird automatisch durchgeführt (z.b. UTF-16) Beispiel siehe Eclipse Programmiermethodik - Streams 13

14 Anwendung von Strömen I/O Typ Datenstrom (Beispiele) Speicher (Memory) Pipe File Konkatenation (mehrerer InputStreams) Objekt - Serialisierung Datenkonvertierung (Standardtypen in rechnerunabhängiges Binärformat) Zählstreams (für Zeilennummern) Vorausschauend (peeking ahead) Ausgabe (Printing) Pufferung Filterströme (Filtering) Konvertierung zwischen Byte- und Datenströmen CharArrayReader, CharArrayWriter, ByteArrayInputStream, ByteArrayOutputStream, StringReader, StringWriter, StringBufferInputStream PipedReader, PipedWriter, PipedInputStream, PipedOutputStream FileReader, FileWriter, FileInputStream, FileOutputStream SequenceInputStream ObjectInputStream, ObjectOutputStream DataInputStream, DataOutputStream LineNumberReader, LineNumberInputStream PushbackReader, PushbackInputStream PrintWriter, PrintStream BufferedReader, BufferedWriter, BufferedInputStream, BufferedOutputStream FilterReader, FilterWriter, FilterInputStream, FilterOutputStream InputStreamReader (byte in char), OutputStreamWriter (char in byte) Programmiermethodik - Streams 14

15 Ströme: 2 wichtige Konzepte Zur I/O-Leistungssteigerung gibt es zwei wichtige Konzepte Datenpufferung Konkatenation Datenpufferung Zur Zwischenspeicherung Wenn I/O langsamer als die CPU ist. Einzelne Lese- und Schreiboperationen sollten nicht direkt vom darunterliegenden Betriebssystem einzeln behandelt werden. Konkatenation Ströme können miteinander verbunden werden. Der Output eines Stroms ist der Input eines anderen Stroms. Ein Strom wird im Konstruktor eines anderen Stroms als Argument übergeben. Verbinden von Filterströmen und Datenströmen. Programmiermethodik - Streams 15

16 Datenpufferung Inputpuffer Speichert schon gelesene aber nicht verarbeitete Daten. Nicht Zeichen für Zeichen lesen und an das Programm übergeben. Folgen von Zeichen in Puffer kopieren und bei einer Leseoperation an das Programm übergeben. Outputpuffer Speichert temporäre Daten, die geschrieben werden. Schreiben, wenn der Puffer voll wird (oder flush() aufgerufen wird). Viele I/O - Geräte unterstützen Operationen auf Blöcke. Der Datentransfer zwischen Puffer und Objekten ist normalerweise schnell. Die Pufferung verbessert die Laufzeit von Programmen. Programmiermethodik - Streams 16

17 Konkatenation Beispieldeklaration BufferedReader instream = new BufferedReader(new FileReader("in.txt")); Verbindet einen BufferedReader mit einem FileReader. Das Programm kann dann instream.readline() aufrufen, um die Eingabedatei Zeile für Zeile zu lesen. Datenfluss Textdatei FileReader BufferedReader Speicher Programmiermethodik - Streams 17

18 ab Java 7: try with Resources Die Verwaltung (vor allem das Schließen) von Ressourcen ist eine fehlerträchtige und komplizierte Angelegenheit. z.b. kann beim Schließen in der finally-klausel der close-aufruf zu einer neuen Ausnahme führen. In Java 7 wird genau diese Verwaltung vereinfacht. Bei einem try-block werden die verwendeten Streams direkt am Anfang angegeben (mit dem try-block verbunden). Am Ende des try-blocks werden die Streams automatisch geschlossen. Dafür gibt es ein neues Interface AutoClosable Enthält eine Methode close(). Alle Streams implementieren dieses Interface. Eigene Ressourcen-Klassen können (sollten) dieses Interface auch implementieren. Programmiermethodik - Streams 18

19 ab Java 7: try with Resources (Beispiel) final String home = System.getProperty("user.dir") + File.separator + "Test"; try( FileInputStream in = new FileInputStream(home + File.separator + "test1.txt"); FileOutputStream out = new FileOutputStream(home + File.separator + "test2.txt"); ) { int c; while ((c = in.read())!= -1) { out.write(c); } } catch (IOException e) { } Programmiermethodik - Streams 19

20 Spezielle Themen

21 Scanning und Formatting Programme müssen mit dem Benutzer entsprechend interagieren. Benutzereingaben Benutzer möchte Daten auf lesbare Art eingeben. Programm zerlegt dann Eingabedaten für die Weiterverarbeitung. Bildschirmausgabe Programm stellt lesbare Ausgabe zusammen. Java I/O bietet dazu zwei APIs an. Scanner-API zum Einlesen Formatting-API für die Ausgabe Programmiermethodik - Streams 21

22 Scanner (Wiederholung) Scanner wird für das Zerlegen des Inputs verwendet. Input wird in Tokens zerlegt. Tokens werden dann entsprechend weiterverarbeitet. Seit Java 1.5 (früher StringTokenizer-Klasse für Strings) Methoden hasnext, hasnextinteger, hasnextdouble Überprüfen ob noch ein Token (String), ein Integer-Wert, ein Double-Wert etc. im Strom vorhanden ist. next, nextinteger, nextdouble. Auslesen des nächsten Tokens (String), Integer-Werts, Double-Werts etc. Programmiermethodik - Streams 22

23 Beispiel import java.io.file; import java.io.ioexception; import java.util.locale; import java.util.scanner; public final class StreamTest3 { } public static void main(final String[] args) { final String home = System.getProperty("user.dir") + File.separator + "Test"; try (Scanner s = new Scanner(new File(home + File.separator + "usnumbers.txt"));) { s.uselocale(locale.us); double sum = 0; while (s.hasnext()) { if (s.hasnextdouble()) { sum += s.nextdouble(); } else { s.next(); } } System.out.println(sum); } catch (IOException e) { System.out.println(e); } } Programmiermethodik - Streams 23

24 Formatierung Klassen, die Formatierung berücksichtigen PrintWriter PrintStream System.out und System.err sind PrintStream-Instanzen. Zwei Stufen der Formatierung werden unterstützt. print und println formatieren individuelle Werte in der Standardform. format formatiert jeden Wert an Hand eines Formatierungsstrings. Für Formatstrings im printf-stil Es gibt daher auch eine printf-methode (äquivalent zu format). Etwas strikter als in C! z.b. Exception, wenn Formatstring Fehler enthält! Programmiermethodik - Streams 24

25 format-methode (1) Formatiert Argumente mit einem Formatierungsstring. Formatstring enthält Formatspezifizierer. Formatierungsangaben folgen einem %-Zeichen und folgendem Syntax: %[argument_index$][flags][width][.precision]conversion [argument_index] bezieht sich auf die Position in der Argumentenliste (erstes Arg mit 1$, zweites Arg mit 2$..). [flags] ist eine Menge von Zeichen zur Modifikation der Ausgabe (0, +). [width] ist die minimale Anzahl der Zeichen, die ausgegeben werden. [precision] ist die maximale Anzahl der Zeichen oder Genauigkeit bei Gleitkommazahlen. conversion ist ein Zeichen, das die Formatierung des Arguments bestimmt - erlaubte Formatierungen hängen vom jeweiligen Datentyp ab. 1 oder 2 Buchstaben, die die entsprechende Konvertierung beschreiben. Genaue Beschreibung siehe API. Beispiele %d, %f, %x, Ist als einziger Teil nicht optional. Programmiermethodik - Streams 25

26 Beispiel import java.util.date; public class Formatter { public static void main(final String[] args) { final int i = 2; final double r = Math.sqrt(i); System.out.format("The square root of %d is %f.%n", i, r); System.out.format("%f, %1$ f %n", Math.PI); System.out.format("%4$s %3$s %2$s %1$s %4$s %3$s %2$s", "a", "b", "c", "d"); Date today = new Date(); System.out.format("%tD%n", today); System.out.format("%tB-%td%n", today, today); System.out.format("%1$tB-%1$td", today, today); } } Ausgabe: The square root of 2 is 1, ,141593, , d c b a d c b05/14/14 Mai-14 Mai-14 Programmiermethodik - Streams 26

27 format-methode (2) Unterschiedliche Kategorien der Konvertierung General - allgemein anwendbar Character - anwendbar auf alle Typen die Unicode-Zeichen repräsentieren char, Character, byte, Byte, short und Short Numeric Integral - anwendbar auf byte, Byte, short, Short, int, Integer, long, Long, BigInteger Floating Point - anwendbar auf float, Float, double, Double und BigDecimal Date/Time - anwendbar auf long, Long, Calendar und Date Percent - für '%' ('\u0025') Line Separator - für plattformspezifisches \n Programmiermethodik - Streams 27

28 Serialisierung

29 Serialisierung von Objekten (1) Der Zustand eines Objekts wird so abgespeichert, dass er wieder rekonstruiert (ausgelesen) werden kann. Serialisierung Objekt wird als Folge von Bytes in einen Strom geschrieben. Deserialisierung Objekt wird als Folge von Bytes aus einem Strom gelesen. Objekt existiert über die Ausführung eines Programms hinaus Speicherung und Austausch. Bessere Performance als Schreiben der Inhalte der Objekte in Datei Einlesen der Datei (Re)Erzeugung der Objekte Objekt wird mit all seinen Komponenten in den Strom geschrieben, d.h. Referenzen werden auch serialisiert. Programmiermethodik - Streams 29

30 Serialisierung von Objekten (2) Serialisierung ObjectOutputStream Ein Objekt, das serialisiert werden soll, muss als Argument der writeobject-methode übergeben werden. Deserialisierung ObjectInputStream Mit der readobject-methode kann ein Objekt eingelesen werden. Dabei wird nur der Zustand des Objekts eingelesen. Es werden keine Konstruktoren aufgerufen! Beispiel siehe ListSerializerApplication.java Programmiermethodik - Streams 30

31 Serialisierung (Voraussetzung) Ein Objekt kann nur serialisiert werden, wenn die entsprechende Klasse das Interface Serializable implementiert. Sonst: java.io.notserializableexception Ist ein Marker-Interface (leeres Interface)! Beispiel public class Person implements Serializable {... } Damit kann jede Instanz der Klasse serialisiert werden. Bei der Serialisierung werden geschrieben Klasse Klassensignatur Werte der nicht statischen und nicht transienten Elemente (auch Referenzen). Programmiermethodik - Streams 31

32 Anpassen der Serialisierung bei Klassen Serialisierung/Deserialisierung kann angepasst werden. Implementieren der Methoden writeobject Für das Schreiben eines Objekts (Anpassen, zusätzliche Informationen etc.). readobject Für das Lesen eines Objekts (Lesen, Anpassen, Updates etc.). Form der writeobject-methode private void writeobject(objectoutputstream s) throws IOException { // Benutzerspezifische Anpassung.. } Form der readobject-methode private void readobject(objectinputstream s) throws IOException { // Benutzerspezifische Anpassung.. // Zusätzliche Updates } Programmiermethodik - Streams 32

33 transient Oft soll ein Teil eines Objekts nicht serialisiert werden (z.b. bei Passwörtern). Schlüsselwort transient bei der Deklaration von Objektvariablen verwenden. Die entsprechende Objektvariable wird nicht serialisiert. Beim Einlesen wird die entsprechende Objektvariable mit einem Defaultwert initialisiert. Wenn das nicht gewünscht wird überschreiben von readobject mit einer entsprechenden Initialisierung. Programmiermethodik - Streams 33

34 Serialisierung unterbinden Beispiel Klasse B erbt von A. A implementiert das Interface Serializable. B sollte aber nicht serialisierbar sein. Serialisierung unterbinden durch entsprechendes Überschreiben (Werfen einer Exception) der Methoden writeobject und readobject. Beispiel private void writeobject(objectoutputstream s) throws IOException { throw new NotSerializableException(); } Programmiermethodik - Streams 34

35 Serialisierung und Vererbung Ist eine Basisklasse serialisierbar In einem Objekt einer abgeleiteten Klasse werden alle ererbten Objektvariablen der Basisklasse serialisiert. Ist eine Basisklasse nicht serialisierbar Dann werden alle Objektvariablen der Basisklasse serialisiert. Dazu muss in der abgeleiteten Klasse der Zugriff auf einen Default- Konstruktor der Basisklasse möglich sein! Wird für die Initialisierung der Objektvariablen benutzt. Wenn dieser nicht vorhanden ist, wird eine Ausnahme geworfen. Programmiermethodik - Streams 35

36 Versionsverwaltung (1) Verschiedene Versionen einer Klasse können Probleme bereiten. Objekt wird serialisiert. Klasse wird verändert. Objektvariablen löschen Typen ändern Deserialisieren funktioniert dann nicht mehr (invalidclassexception). Erkennung in Java Bei der Serialisierung wird eine eindeutige Kennung geschrieben (UID). Hashcode aus Namen, Objektvariablen, Parametern, Sichtbarkeit usw. Ändert sich eine Klasse, dann ändert sich der Hashcode. Keine Kompatibilität mehr! Programmiermethodik - Streams 36

37 Versionsverwaltung (2) SUID (serialversionuid) Benutzer kann die SUID selbst berechnen. Händisch Aufruf des Hilfsprogramms serialver mit Klassenname. Ausgabe des Programms in das eigene Programm kopieren. Eclipse unterstützt die Generierung. Beispiel private static final long serialversionuid = L; Man kann eine eigene SUID angeben (z.b. 1L). Bestimmte Änderungen (nicht alle) können vorgenommen werden wenn die SUID gleich bleibt. Neue Objektvariablen werden beim Einlesen standardmäßig initialisiert. Fehlende Objektvariablen werden ignoriert. Bei inkompatiblen Änderungen muss die SUID verändert werden. Neu generieren oder eigene hochzählen. Programmiermethodik - Streams 37

38 Config-Files mit Properties

39 Config-Files (Persistentes) Festhalten von allgemeinen Konfigurationsparametern Oftmals Pfade, Limits, etc. Sollten in Datei veränderbar sein Anwendung soll auch Werte verändern können Java Properties-Klasse Liest/speichert in Stream Bietet Schnittstelle ähnlich zu Map (getproperty), nachdem Properties aus File geladen wurden Default-Values können angegeben werden (bei nicht spezifizierten Properties) Beispiel siehe ConfigFileApplication Programmiermethodik - Streams 39

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

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

Java Input/Output System (IO)

Java Input/Output System (IO) Java Input/Output System (IO) Ziel: Schreiben und Lesen von Daten auf sequentielle Medien. Paket: java.io. ab Java 1.4 auch java.nio, hier nicht beru cksichtigt. Trennung in 2 Welten: - Byteorientierte

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

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

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

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 27. Januar 2016 Lesen und Schreiben von Zeichen Reader read(); close();

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

Abschnitt 18: Beispiel: I/O-Streams

Abschnitt 18: Beispiel: I/O-Streams Abschnitt 18: Beispiel: I/O-Streams 18. Beispiel: I/O-Streams 18.1 Eingabe/Ausgabe 18.2 Dateien 18.3 Streams 18.4 Lesen: Inputstreams, Reader 18.5 Schreiben: Outputstreams, Writer 18.6 I/O Ausnahmen 18

Mehr

Umleitung von Datenströmen

Umleitung von Datenströmen Datenströme Filter und Pipes In UNIX eingeführte Abstraktion beim Datenaustausch Programme arbeiten als Erzeuger und/oder als Verbraucher von Datenströmen ==> Filter Die Erzeuger- und Verbraucherschnittstelle

Mehr

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker I/O-Serialisierung und Multithreading PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Dr.-Ing. Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik 27. Mai 2013 Übersicht

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung 25.01.2007 Wintersemester 2006/2007 Computerlinguistik, Campus DU Überblick Seite 2 Datenströme: Ein und Ausgabe von Daten Java Collections Framework Eingabe/Ausgabe Seite 3 Lesen, Schreiben

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

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

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

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

Objektserialisierung

Objektserialisierung Objektserialisierung SEP 170 Serialisierung von Objekten Umwandlung des Objektzustandes in einen Strom von Bytes, aus dem eine Kopie des Objekts zurückgelesen werden kann. Serialisierung in Java einfacher

Mehr

Dynamische Datenstrukturen Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 1

Dynamische Datenstrukturen Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 1 Dynamische Datenstrukturen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 1 Dynamische Datenstrukturen Keine konstante Kardinalität Speicherzuweisung erfolgt während der

Mehr

Wo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 313

Wo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 313 Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,

Mehr

Informatik B. Vorlesung 14 Serialisierung, Autoboxing. Dr. Ralf Kunze

Informatik B. Vorlesung 14 Serialisierung, Autoboxing. Dr. Ralf Kunze Vorlesung 14 Serialisierung, Autoboxing 1 Serialisierung von Objekten Die Objekte innerhalb eines Java-Programmes sollen manchmal auch nach Beendigung der JVM verfügbar bleiben Objekte müssen ab und an

Mehr

Info B VL 7: Input/Output

Info B VL 7: Input/Output Info B VL 7: Input/Output Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 7: Input/Output p.174 Exkurs:

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

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I 13 Java-E/A-System 13.1. E/A-System-Überblick 13.2 Dateisystem - Betriebssystemsicht 13.3 Java-I/O-System 13.4 I/O-Klassenhierachie 13.5 InputStream class; Reader class 13.5.1 read() method 13.5.2 skip()

Mehr

Grundlagen der Objektorientierten Programmierung - Ein- / Ausgabe-Streams

Grundlagen der Objektorientierten Programmierung - Ein- / Ausgabe-Streams Java-API: Stream-Klassen Die API-Bibliothek java.io bietet zahlreiche Stream-Klassen mit vielen Ein- und Ausgabefunktionen, mit deren Hilfe alle denkbaren Arten von Datenübertragungen und -konvertierungen

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

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

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 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

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

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

Einführung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 14: Sequentielle Ein-/Ausgabe, Ströme, Dateiorganisation.

Einführung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 14: Sequentielle Ein-/Ausgabe, Ströme, Dateiorganisation. Universität Osnabrück 1 Einführung 3 - Objektorientierte Programmierung in Java Vorlesung 14: Sequentielle Ein-/Ausgabe, Ströme, SS 2004 Prof. Dr. F.M. Thiesing, FH Dortmund Für die Ein- und Ausgabeprogrammierung

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

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

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

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

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

Kapitel 8: Serialisierbarkeit

Kapitel 8: Serialisierbarkeit Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 8: Serialisierbarkeit Folie 189 : Serialisierbarkeit Die Umwandlung eines komplexen Objektes in ein Byte-Array nennt

Mehr

Einführung in die Informatik Algorithmen und Datenstrukturen. Thema 12 Datenverarbeitung

Einführung in die Informatik Algorithmen und Datenstrukturen. Thema 12 Datenverarbeitung Einführung in die Informatik Algorithmen und Datenstrukturen Thema 12 Datenverarbeitung Daten - Definitionen Foto? Text? Musik? Video? Zeichnung? Programm? Daten, urspr. svw. geschichtl. Zeitangaben; heute

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

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

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

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

Programmieren 2 Selbststudium Semesterwoche 6

Programmieren 2 Selbststudium Semesterwoche 6 Programmieren 2 Selbststudium Semesterwoche 6 1. Datenströme (Basis: Handout PRG2_SW6_OOP) 1. Gehen Sie nochmals die Kontrollfragen A durch. A.1. Ein JavaProgramm liest Daten aus einem???strom. InputStream

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

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 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

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

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

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

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

Problemstellung. Object1:Klasse1. Object2:Klasse2 att1: Klasse1 att2: 9. att1: att2: 17. Klasse1 att1 att2 Klasse2 att1 att2

Problemstellung. Object1:Klasse1. Object2:Klasse2 att1: Klasse1 att2: 9. att1: att2: 17. Klasse1 att1 att2 Klasse2 att1 att2 Problemstellung Objekt mit aggregierten Objekten: att1: att2: 17 Object1:Klasse1 Object2:Klasse2 att1: Klasse1 att2: 9 serialisiert als Datei: Klasse1 att1 att2 Klasse2 att1 att2 -Speicherung von Objekten

Mehr

5.2 Input/Output mit Dateien

5.2 Input/Output mit Dateien 252-0027 Einführung in die Programmierung 5.2 Input/Output mit Dateien Michael Faes & Thomas R. Gross Departement Informatik Manipulieren von Dateien Klasse File erlaubt Operationen mit Dateien (Files)

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

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

Einführung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 14: Sequentielle Ein-/Ausgabe, Streams, Dateiorganisation.

Einführung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 14: Sequentielle Ein-/Ausgabe, Streams, Dateiorganisation. Universität Osnabrück 1 Einführung 3 - Objektorientierte Programmierung in Java Vorlesung 14: Sequentielle Ein-/Ausgabe, Streams, SS 2006 Prof. Dr. F.M. Thiesing, FH Osnabrück Für die Ein- und Ausgabeprogrammierung

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

Programmieren 2 Java Überblick

Programmieren 2 Java Überblick Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 3 Schnittstellen 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 9 Graphische Benutzeroberflächen

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

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 14 Dateiverwaltung, das Stream-Konzept... 14-2 14.1 Datenströme... 14-2 14.1.1 Datenströme in Java, Paket java.io.*... 14-3 14.1.2 Standarddatenströme... 14-4 14.2 Klasse java.io.file... 14-7 14.3

Mehr

Kapitel 9. Ein- und Ausgabe. 9.1 Ströme

Kapitel 9. Ein- und Ausgabe. 9.1 Ströme Kapitel 9 Ein- und Ausgabe In den bisherigen Programmbeispielen wurden die Benutzereingaben immer über die Kommandozeile und Ausgaben immer durch Aufruf der Methode System.out.println realisiert. Tatsächlich

Mehr

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4. ! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur

Mehr

Ein- und Ausgabe. Algorithmen und Datenstrukturen II 1

Ein- und Ausgabe. Algorithmen und Datenstrukturen II 1 Ein- und Ausgabe Algorithmen und Datenstrukturen II 1 In den bisherigen Programmbeispielen wurden die Benutzereingaben immer über die Kommandozeile und Ausgaben immer durch Aufruf der Methode System.out.println

Mehr

Ein- und Ausgabe. Für die Ein- und Ausgabe von Daten gibt es eine Reihe von Möglichkeiten. Beispiele hierfür sind:

Ein- und Ausgabe. Für die Ein- und Ausgabe von Daten gibt es eine Reihe von Möglichkeiten. Beispiele hierfür sind: Ein- und Ausgabe Für die Ein- und Ausgabe von Daten gibt es eine Reihe von Möglichkeiten. Beispiele hierfür sind: Eingabe als Parameter auf der Kommandozeile Eingabe über die Tastatur Eingabe aus einer

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät Vorlesung Sommer 2009 Teil I Ein- und Ausgabe In den bisherigen Programmbeispielen wurden die Benutzereingaben immer über

Mehr

Betriebssysteme. Wintersemester Kapitel 4 Ein- / Ausgabe und Dateisysteme. Patrick Kendzo

Betriebssysteme. Wintersemester Kapitel 4 Ein- / Ausgabe und Dateisysteme. Patrick Kendzo Betriebssysteme Wintersemester 2013 Kapitel 4 Ein- / Ausgabe und Dateisysteme Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Ein- / Ausgabe und Dateisysteme

Mehr

Einführung zur Aufgabengruppe 2

Einführung zur Aufgabengruppe 2 Einführung zur Aufgabengruppe 2 Alle Literaturhinweise beziehen sich auf die Vorlesung WS 10 Modellierung und Programmierung 1 1 Dateiverwaltung, das Stream-Konzept... 1-2 1.1 Datenströme (s. Kapitel Streams)...

Mehr

Programmieren 2 09 File-IO

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

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

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

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

Grundlagen der Programmierung. Kapitel 10: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei Ziele dieses Kapitels Grundlagen der ierung Dr. Christian Herzog Technische Universität München! Sie verstehen das Konzept der Ströme Sie können n wie,, Input und Output benutzen.! Sie können in Java Dateien

Mehr

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei Ziele dieses Kapitels Grundlagen der ierung Dr. Christian Herzog Technische Universität München! Sie verstehen das Konzept der Ströme Sie können n wie,, Input und Output benutzen.! Sie können in Java Dateien

Mehr

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei Ziele dieses Kapitels Grundlagen der ierung Dr. Christian Herzog Technische Universität München! Sie verstehen das Konzept der Ströme Sie können n wie,, Input und Output benutzen.! Sie können in Java Dateien

Mehr

Einführung in die OOP mit Java Character-Streams Gliederung

Einführung in die OOP mit Java Character-Streams Gliederung Hochschule für Angewandte Wissenschaften Hamburg Hamburg University of Applied Sciences Einführung in die OOP mit Java Character-Streams Christian Dreyer 03.11.2008 Character-Streams 1 Gliederung Begriffsklärung

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

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 01: Organisation, Wiederholung und File IO Kyrill Schmid Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Organisatorisches Ziele und Aufbau Zielgruppe, Vergütung,

Mehr

1. Betrachte das folgende Programm:

1. Betrachte das folgende Programm: Prof. Dr. Detlef Krömker Ashraf Abu Baker Robert-Mayer-Str. 10 60054 Frankfurt am Main Tel.: +49 (0)69798-24600 Fax: +49 (0)69798-24603 EMail: baker@gdv.cs.uni-frankfurt.de 1. Betrachte das folgende Programm:

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

Programmieren I und II

Programmieren I und II Handout zu den Vorlesungen Vorlesung Programmieren I und II Unit 4 Einfache I/O Programmierung Serialisierung von Objekten 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme

Mehr

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 02: Streams filtern Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Datenströme (Streams) Filtern FilterWriter, - Reader Praxis:

Mehr

Programmieren 2 11 Objekt-Serialisierung

Programmieren 2 11 Objekt-Serialisierung Programmieren 2 11 Objekt-Serialisierung Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Noch eine Persistenzalternative Eine Adresse als

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

Ein- und Ausgabe in Java

Ein- und Ausgabe in Java Ein- und Ausgabe in Java Das Package java.io enthält eine Sammlung von Klassen, die die Kommunikation mit dem Computer steuern Einlesen und Ausgeben von Dateien Ausgabe auf dem Bildschirm Einlesen von

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 01: Organisation, Wiederholung und File IO Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Organisatorisches Ziele und Aufbau Zielgruppe,

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

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 20. Januar 2016 Interface Sets M. Meiler Sortieren der Objekten einer

Mehr

Grundlegende Java Bibliotheken

Grundlegende Java Bibliotheken Grundlegende Java Bibliotheken Java Praktikum SS 2009 Gerald.Ehmayer@borland.com 1 Grundlegende Java-Bibliotheken Ein-/Ausgabe Standard-IO, Streams, Files,... Ausnahmebehandlung New IO Character (En)Coding

Mehr

Programmieren I und II

Programmieren I und II Handout zu den Vorlesungen Vorlesung Programmieren I und II Unit 4 Einfache I/O Programmierung Serialisierung von Objekten 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

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

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

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

Mehr

Programmiermethodik 1. Klausur

Programmiermethodik 1. Klausur Programmiermethodik 1. Klausur 27. 6. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 21 2 20 3 19 4 19 5 21 6 20 Gesamt 120 1 Seite 2 von 18 Aufgabe 1) Objekt-Orientierung und Vererbung

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 01: Organisation, Wiederholung und File IO Kyrill Schmid Lehrstuhl für Mobile und Verteilte Systeme Organisatorisches Ziele und Aufbau Zielgruppe, Vergütung, Webseite

Mehr