Vorlesung 11. Sitzung Grundlegende Programmiertechniken
|
|
- Kasimir Grosse
- vor 7 Jahren
- Abrufe
Transkript
1 Vorlesung 11. Sitzung Grundlegende Programmiertechniken Wintersemester 2007/2008 Dozent Nino Simunic M.A. Computerlinguistik, Campus DU
2 Grundlegende Programmiertechniken, WS 2007/2008 Datenströme
3 Externe Informationen lesen/schreiben Häufige Software-Operationen: (Ein-)Lesen von Daten/Informationen aus einer externen Quelle in die Java-Umgebung einlesen Schreiben von Informationen aus dem Programm in ein externes Ziel. In allen Fällen sind E/A Datenströme die Basis. -3-
4 Wichtige Merkmale der Ströme Ein Strom kann die verschiedensten Typen von Quellen und Zielen repräsentieren. Dateien, Geräte, andere Programme, Arrays im Speicher, Ströme unterstützen verschiedene Typen von Daten Bytes, primitive Datentypen, lokalisierte Zeichen, Objekte, Einige Strom-Typen befördern Daten ausschließlich, andere dagegen manipulieren sie auf sinnvolle Weise. -4-
5 Grundlage aller E/A Operationen: Lesen In allen Fällen gilt beim Lesen von Daten: Ein Strom ist eine Daten-Sequenz. Ein Programm verwendet Input-Streams, um Daten sequenziell/stückweise zu lesen. -5-
6 Grundlage aller E/A Operationen: Schreiben In allen Fällen gilt beim Schreiben von Daten: Ein Strom ist eine Daten-Sequenz. Ein Programm verwendet Output-Streams, um Daten sequenziell/stückweise zu lesen. -6-
7 Einleitung : E/A Ströme in Java (3) Algorithmus der sequentiellen Datenverarbeitung sowohl beim Lesen als auch beim Schreiben: Lesen Strom öffnen Mehr Informationen? Lese Informationen Strom schließen Schreiben Strom öffnen Mehr Informationen? Schreibe Informationen Strom schließen Mehr Informationen? zu zu verstehen als Schleife mit Bedingung Solange Informationen vorhanden -7-
8 Paket java.io java.io enthält Strom-Klassen für die Umsetzung von E/A Aktionen Strom-Klassen sind grundlegend auf zwei Klassenhierarchien verteilt: Zeichen-Ströme:»Textuelle«Informationen Byte-Ströme: Informationen als Rohdaten -8-
9 Rohdaten-/Byte-Ströme Byte-Strom Klassen sind Ableitungen von InputStream und OutputStream. Typische Anwendungen: Lesen und Schreiben binärer Daten: Bilder, Sounds, Objekte, -9-
10 Byte-Ströme: Einige Subklassen von InputStream und OutputStream Byte-Ströme: Öffnen/Lesen abstract Byte-Ströme: Öffnen/Schreiben InputStream OutputStream FilterInputStream FileInputStream FilterOutputStream FileOutputStream BufferedInputStream InflaterInputStream BufferedOutputStream GZIPInputStream ZipInputStream Wahlfreie DV (vs. sequentielle DV) Printstream
11 Details der Byte-I/O Superklassen (1) InputStream InputStream FileInputStream definiert u.a. Methoden für das Lesen von Bytes und Byte-Arrays: int read() InflaterInputStream int read(byte cbuf[]) int read(byte cbuf[], int offset, GZIPInputStream int length) ZipInputStream FilterInputStream BufferedInputStream
12 Details der Byte-I/O Superklassen (2) OutputStream OutputStream definiert ähnliche Methoden FilterOutputStream FileOutputStream zum Schreiben von Bytes: int write(int c) int write(byte cbuf[]) BufferedOutputStream int write(byte Printstream cbuf[], int int write(byte cbuf[], int offset, int length)
13 Öffnen/Schließen von Streams Alle Ströme werden bei ihrer Erzeugung automatisch geöffnet Gilt für InputStream's, OutputStream's, aber auch die noch folgenden Reader's, und Writer's Ströme sollten stets nach erfolgter Verwendung via close()-methode geschlossen werden. Der garbage collector schließt Ströme implizit, wenn ein Strom-Objekt nicht mehr referenziert wird
14 Verwendung von Byte-Strömen Demonstration von Byte-Strömen anhand von E/A Byte-Strömen fürs Lesen/Schreiben von Dateien. Andere Typen von Byte-Strömen werden fast analog hierzu verwendet: Hauptunterschied ist die Art Ihrer Erzeugung. Beispiel-Projekt: Kopiere Informationen aus einer Datei in eine andere Verwendete Strom-Klassen im Projekt: FileInputStream, FileOutputStream
15 CopyBytes.java import java.io.*; public class CopyBytes { FileIS, FileOS Konstruktoren: -Dateiname als Zeichenkette -Ein File-Objekt (Hausaufgabe) -Ein FileDescriptor Objekt public static void main(string[] args) throws IOException { FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream("test.txt"); out = new FileOutputStream("test_copy.txt"); int c; while ((c = in.read())!= -1) { out.write(c); finally { if (in!= null) { in.close(); if (out!= null) { out.close();
16 Ströme und Ausnahmen In vielen Fällen können Ströme Ausnahmen auslösen Datei nicht gefunden/korrupt/schreibgeschützt, Netzwerkverbindung down, In ebenso vielen Fällen verpflichten die I/O-Klassen den Programmierer zur Ausnahmebehandlung Die Ausnahmen sind ebenfalls in java.io zu finden. Welche Ausnahme erzeugt werden kann, steht in der Java-API, bzw. sagt Ihnen die IDE bzw. der Compiler
17 Wann man Byte Ströme nicht verwenden sollten CopyBytes funktioniert zwar (Text), stellt jedoch low-level E/A dar, welches i.d.r. vermieden werden sollte. test.txt enthält Zeichen-Daten, also komplexe Daten Nebenbei: Byte Ströme sind auf ISO-Latin-1 8-bit Bytes begrenzt. Kann zu Problemen führen. Idealfall ist die Nutzung entsprechender Ströme für komplexe Daten. Hier also Zeichen-Ströme! Noch einmal: Vermeiden Sie low-level E/A. Warum dann überhaupt ansehen? Alle anderen Strom- Typen haben Byte-Ströme als Grundlage! ;-)
18 Zeichen-Ströme (engl. character streams) Im Allgemeinen ist E/A mit Zeichenströmen nicht sonderlich komplizierter als mit Byte-Strömen. Wichtiges Konzepte hier: Zeichenkodierungen. Java Plattform speichert Zeichen auf Unicode Basis Internes Format wird automatisch übersetzt in/von der lokalen Zeichencodierung Man kann den Automatismus nutzen, oder aber auch bequem eigene Zeichenkodierungen beim Erzeugen der Ströme einfach angeben, falls erforderlich!
19 Zeichen-Ströme Reader und Writer sind abstrakte Superklassen aller Zeichen-Ströme Ihre Subklassen implementieren spezifische Ströme für Datei E/A (analog zu den Byte-Strömen) Ströme, die direkt in data sinks (Datensenken) lesen/schreiben (analog zum letzten Beispiel) Filter-Ströme, die nicht direkt mit der Datensenke verbunden sind und die Daten sinnvoll vor dem Einlesen/Schreiben prozessiert
20 Zeichen-Ströme: Einige Subklassen von Reader und Writer Zeichen-Ströme:Öffnen/ Lesen Lesen abstract Zeichen-Ströme: Öffnen/Schreiben Reader Writer BufferedReader InputStreamReader FilterWriter BufferedWriter LineNumberReader FileReader OutputStreamWriter FileWriter
21 Details der Zeichen-I/O Superklassen (1) Reader und InputStream definieren ähnliche APIs, jedoch für unterschiedliche Datentypen: int read() int read(char cbuf[]) int read(char cbuf[], int offset, int length) Analog zu InputStream: Methoden zum Flush'en, Überspringen, Markieren, Zurücksetzen
22 abstract void close() Closes the stream and releases any system resources associated with it. void mark(int readaheadlimit) Marks the present position in the stream. boolean marksupported() Tells whether this stream supports the mark() operation. boolean ready() Tells whether this stream is ready to be read. void reset() Resets the stream. long skip(long n) Skips characters
23 Details der Zeichen-I/O Superklassen (2) Writer und OutputStream ähneln sich ebenfalls in den definierten Methoden write(char[] cbuf) Writes an array of characters. abstract void write(char[] cbuf, int off, int len) Writes a portion of an array of characters. void write(int c) Writes a single character. void write(string str) Writes a string. void write(string str, int off, int len) Writes a portion of a string. Wie gehabt: Öffnen der Ströme automatisch bei Erzeugung des jeweiligen Strom-Objekts
24 Anwendungsdemonstration am Beispiel Datei-E/A Analog zu Byte-Strömen: Klassen vorhanden, welche Datei-E/A auf Zeichenstrom-Ebene realisieren Beispiel-projekt: CopyCharacters Gleiche Funktionalität wie CopyBytes. Wichtigster Unterschied: Anstelle von FileInputStream und FileOutputStream für E/A: FileReader, FileWriter
25 CopyCharacters.java import java.io.*; public class CopyCharacters { public static void main(string[] args) throws IOException { FileReader inputstream = null; FileWriter outputstream = null; try { inputstream = new FileReader("test.txt"); outputstream = new FileWriter("test_copy2.txt"); int c; while ((c = inputstream.read())!= -1) { outputstream.write(c); finally { if (inputstream!= null) { inputstream.close(); if (outputstream!= null) { outputstream.close();
26 Zeichen-Ströme, die Byte-Ströme verwenden Zeichenströme sind oft "Wrapper" für Byte-Ströme Der Zeichenstrom verwendet den Bytestrom für physikalisches I/O Der Zeichenstrom übernimmt die Aufgabe der Übersetzung zwischen Zeichen und Bytes FileReader z.b. verwendet FileInputStream FileWriter verwendet FileOutputStream Insgesamt zwei»general-purpose«byte-zu- Zeichen»Brücken«-Ströme InputStream / Reader OutputStream / Write
27 Zeilen-basiertes I/O Zeichen E/A wird i.d.r. in größeren Einheiten (als nur einzelne Zeichen) realisiert. Eine typische Einheit: Zeile (eines Texts) Eine Zeichenkette, welcher mit einem Zeilenumbruch endet. Beispiel: CopyLines Verwendet BufferedReader.readLine und PrintWriter.println für zeilenweises E/A
28 CopyLines.java import java.io.*; public class CopyLines { public static void main(string[] args) throws IOException { BufferedReader inputstream = null; PrintWriter outputstream = null; try { inputstream = new BufferedReader(new FileReader("test.txt")); outputstream = new PrintWriter(new FileWriter("text_out.txt")); String l; while ((l = inputstream.readline())!= null) { outputstream.println(l); finally { if (inputstream!= null) { inputstream.close(); if (outputstream!= null) { outputstream.close();
29 Filterströme: Puffer-Ströme (engl. buffered streams) Buffered I/O (gepuffertes E/A) Means that each read or write request is handled directly by the underlying OS. Can make a program much less efficient, since each such request often triggers disk access, network activity, or some other operation that is relatively expensive. Um diesen Overhead zu vermeiden: Buffered I/O streams Buffered input streams read data from a memory area known as a buffer; the native input API is called only when the buffer is empty. Similarly, buffered output streams write data to a buffer, and the native output API is called only when the buffer is full
30 Buffered Streams (2) Ein Programm kann einen ungepufferten Strom in einen gepufferten Strom konvertieren Ungepufferter Strom wird vom Puffer-Strom»verpackt«, bzw. diesem als Objekt übergeben Beispiel: CopyCharacters mit gepuffertem Strom Einzige Änderung: Dem ungepuffertem wird ein gepufferter Strom zwischengeschaltet. Buffered Stream BufferedReader new BufferedReader( ) Unbuffered Stream FileReader new Filereader( )
31 CopyCharacters2.java import java.io.*; public class CopyCharacters2 { public static void main(string[] args) throws IOException { BufferedReader FileReader inputstream inputstream = null; = null; FileWriter BufferedWriter outputstream outputstream = null; = null; try { inputstream = new = new BufferedReader(new FileReader("test.txt"); FileReader("test.txt")); outputstream = new = new BufferedWriter(new FileWriter("test_copy2.txt"); FileWriter("test_copy.txt")); int c; while ((c = inputstream.read())!= -1) { Vier outputstream.write(c); gepufferte Stromklassen zum Wrappen ungepufferter Ströme: finally { BufferedInputStream, if (inputstream!= null) { BufferedOutputStream erstellten inputstream.close(); gepufferte Byte-Ströme if (outputstream!= null) { BufferedReader und outputstream.close(); BufferedWriter erzeugen gepufferte Zeichenströme
32 Flush'en von gepufferten Strömen It often makes sense to write out a buffer at critical points, without waiting for it to fill. This is known as flushing the buffer. Some buffered output classes support autoflush, specified by an optional constructor argument. When autoflush is enabled, certain key events cause the buffer to be flushed. For example, an autoflush PrintWriter object flushes the buffer on every invocation of println or format. To flush a stream manually, invoke its flush method. The flush method is valid on any output stream, but has no effect unless the stream is buffered
33 E/A auf der Kommandozeile Programm verwenden häufig die Kommandozeile, um mit dem Benutzer zu interagieren Eine Möglichkeit der Umsetzung: Verwenden von Standard-Strömen
34 Standard Streams (1) Standard Streams sind Features von vielen Betriebssystem. Standardmäßig lesen Sie Input der Tastatur und schreiben auf den Bildschirm Die Java Plattform unterstützt drei Standard-Ströme: Standard Input: Zugriff via System.in Standard Output: Zugriff via System.out Standard Error: Zugriff via System.err Standard Output, Standard Error sind Ausgabe-Ströme. Ihre jeweilige Formatierung erlaubt jedoch, Fehler von regulären Ausgaben schnell zu unterscheiden. Objekte dieser Ströme werden automatisch definiert und müssen nicht geöffnet werden
35 Standard Streams (2): Vorsicht Aus historischen Gründen: Die Standardströme sind keine Zeichen-Ströme, sondern Byte-Ströme System.out und System.err werden als PrintStream Objekte definiert. Obwohl sie Byte-Ströme sind, verwendet PrintStream einen eigenen internen Zeichen-Strom, um viele der Features von Zeichen-Ströme zu emulieren. Im Gegensatz dazu ist System.in ein Byte-Strom with ohne Zeichenstrom-Funktionalität. Um den Standard Input als Zeichenstrom zu nutzen, muss System.in gewrappt werden: System.in in InputStreamReader: InputStreamReader stdin = new InputStreamReader(System.in);
36 Hausaufgabe Kapitel»Scanning and Formatting«lesen, Quelltexte implementieren, ausprobieren, erweitern. Download ab morgen auf unserer Seite Evtl. Zusatzliteratur aus Head First Java Übungsaufgaben nächste Woche setzen das Lesen des Kapitels voraus. Fragen? Aufschreiben! Wie immer: Auch Folien nachbereiten, Quelltexte ausprobieren (auch die der Hausaufgaben-Kapitel), erweitern, etc. Next: Collections, Generezität, Ereignisbasierte Programmierung, GUI-Entwicklung Warnung: Evtl. müssen wir 2h in den Ferien machen
37 Referenzen Sharon Zakhour, Scott Hommel, Jacob Royal, Isaac Rabinovitch, Tom Risser, Mark Hoeber The Java Tutorial Fourth Edition: A Short Course on the Basics. Addison Wesley Professional. Java (1.6) API Dokumentation
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
MehrVorlesung 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
MehrInfo 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:
MehrArten 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
MehrJava 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
MehrEingabe 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;
MehrJava 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
MehrDatenströ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
MehrAusnahmen. 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
MehrKapitel 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
MehrUmleitung 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
MehrAlgorithmen 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
MehrModellierung 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();
MehrAusnahmen. 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
MehrKapitel 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
MehrStreams. 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
MehrEin- 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
MehrEinfü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
MehrClient-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
MehrStreams. 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
MehrAusnahmen. 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:
MehrEinstieg 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
MehrAusnahmebehandlung PK11W-16,
Ausnahmebehandlung PK11W-16, 05. 12. 2011 1 Laufzeitfehler weitere Ausführung unmöglich Ausnahme geworfen Beispiele: ArrayIndexOutOfBoundsException NullPointerException ArithmeticException AssertionError
MehrGrundlagen 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,
MehrBetriebssysteme. 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
MehrProgrammieren 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
MehrJava 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
MehrHandbuch 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
Mehrjava.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
MehrAusnahmen 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
MehrJava 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
MehrVorlesung 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
MehrProgrammieren 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
MehrEinfü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
MehrProgrammieren 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:
MehrAbschnitt 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
MehrAusnahmen. 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
MehrEin- 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
MehrAusnahmen. 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
MehrVorlesung 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
MehrJAVA 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
MehrJava 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
MehrJavakurs 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:
MehrSoftware 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
MehrClient-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
MehrAusnahmen. 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
MehrDateien: 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
MehrDateien: 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
Mehr3.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
MehrObjektorientierung 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;
MehrKapitel 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
MehrWie 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
MehrGrundlegende 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
MehrModellierung 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
MehrDateien, 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 -
MehrAusdrucksbä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
MehrEinfü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
MehrProgrammieren 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
MehrProgrammieren 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
MehrEinfü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
MehrGrundlagen 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
MehrReferat: 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)
MehrGrundlegende Java Bibliotheken
Grundlegende Java Bibliotheken 1 Grundlegende Java-Bibliotheken Ein-/Ausgabe Standard-IO, Streams, Files,... Ausnahmebehandlung New IO Character (En)Coding Reflection-Mechanismus, dynamisches Laden von
MehrDateien/Streams. Arthur Zaczek. Okt 2015
Arthur Zaczek Okt 2015 1 Input/Output 1.1 Was ist ein Stream? Figure 1: InputStream Figure 2: OutputStream Graphik: (C) Copyright 1995-2009 Sun Microsystems, Inc. 1.2 Warum streamen? Reduktion des Speicherverbrauchs:
MehrGrundlagen 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()
MehrPROG 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
MehrEinfü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)...
MehrProgrammieren 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:
MehrGrundlagen 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
MehrGrundlagen 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
MehrGrundlagen 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
MehrDateien/Streams. Arthur Zaczek
Dateien/Streams Arthur Zaczek Okt 2015 1/23 Input/Output Input/Output 2/23 Was ist ein Stream? Figure 1: InputStream Input/Output 3/23 Warum streamen? Reduktion des Speicherverbrauchs: es muss nicht der
MehrBeispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme
Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,
MehrGrundlagen 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
MehrProgrammieren 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
MehrSocket-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
MehrAK-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
Mehr3. Grundlegende Sprachkonstruktionen imperativer Programme
3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte
MehrJava 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
MehrDr. 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
MehrBeispiel 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:
MehrStreams. 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.
MehrStreams und Files. Datenströme Byteweises Lesen und Schreiben Zeichenweises Lesen und Schreiben Dateien Serialisierung
Streams und Files Datenströme Byteweises Lesen und Schreiben Zeichenweises Lesen und Schreiben Dateien Serialisierung Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Streams und Files Datenströme
MehrE Testen mit JUnit. E Testen mit JUnit. E.1 TestCase. Test-First-Ansatz. Sammelt alle Unit-Tests zu einer Klasse. Erbt von junit.framework.testcase.
E Testen mit JUnit E.1 TestCase E.1 TestCase Test-First-Ansatz Tests werden erstellt bevor der eigentliche Produktionscode implementiert wird sobald ein Test erfolgreich aufgerufen werden kann ist der
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
MehrEinführung zur Aufgabengruppe 2
Einführung zur Aufgabengruppe 2 Alle Literaturhinweise beziehen sich auf die Vorlesung Modellierung und Programmierung 1 1 Dateiverwaltung, das -Konzept... 1-2 1.1 Datenströme (s. Kapitel s)... 1-2 1.1.1
MehrWo 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,
MehrSocket-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
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
Mehr