Dynamische Datenstrukturen Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 1
|
|
- Harald Bäcker
- vor 7 Jahren
- Abrufe
Transkript
1 Dynamische Datenstrukturen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 1
2 Dynamische Datenstrukturen Keine konstante Kardinalität Speicherzuweisung erfolgt während der Programm-Laufzeit 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 2
3 File: sequentielle dyn. Struktur Def: Eine Sequenz vom Grundtyp T 0 ist entweder die leere Sequenz oder die Verkettung einer Sequenz vom Grundtyp T 0 mit einem Wert vom Typ T 0. Leseschreibkopf Grundoperationen: Lesen Schreiben Zurücksetzen EOF setzen seek 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 3
4 Textdateien und binäre Dateien Beide Dateitypen haben eigene Befehlssätze zum Lesen und Schreiben Textdatei Folge von Zeichen in vereinbartem Format (ASCII, Unicode) mit normalem Texteditor lesbar Lesebefehle lesen Zeichen bis zum nächsten Trennzeichen in eine Variable => einzelne Variablen durch Trennzeichen (Delimiters) getrennt; für die Trennzeichen muss der Programmierer selbst sorgen braucht i.d.r. mehr Speicherplatz dynamisch-strukturiert-homogen Binärdatei Folge von Bytes; Variablen haben den gleichen Format wie im Hauptspeicher nur mit Spezialeditoren (Hexeditor) lesbar Lese/Schreibbefehle enthalten Information über die Anzahl der zu lesenden/schreibenden Bytes => keine Trennzeichen notwendig braucht i.d.r. weniger Speicherplatz dynamisch-strukturiert-heterogen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 4
5 Implementierung von File #1 1. C: 1.1 Textdatei FILE *fileptr; char Zeichenkette[20]; int a; fileptr=fopen("myfile.txt","w"); //Zuordnung //log./phys. Datei fprintf(fileptr,"mystring ",9); // schreiben fclose(fileptr);... fileptr=fopen("myfile.txt", "r"); fscanf(fileptr, "%s%d", Zeichenkette, &a); // lesen fclose(fileptr); //Datei schließen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 5
6 Implementierung von File #2 1.1 Binäre Datei FILE *fileptr; int a; float b[20]; fileptr=fopen("myfile.bin","wb"); //Zuordnung //log./phys. Datei fwrite(&a, sizeof(int), 1, fileptr); // schreiben fwrite(b, sizeof(float), 20, fileptr); fclose(fileptr);... fileptr=fopen("myfile.bin", rb"); fread(&a, sizeof(int), 1, fileptr); // lesen fread(b, sizeof(float), 20, fileptr); //Datei schließen // Params: Buffer,Datentyp-Länge,Anzahl,log.Datei fclose(fileptr); //Datei schließen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 6
7 Implementierung von File #3 2. C Textdateien #include <iostream> // 1 #include <fstream> // 2 #include <string> // 3 using namespace std; int main() { fstream in_file("original.txt", ios::in); // 4 fstream out_file("kopie.txt",ios::out ios::trunc);//5 string buffer; while(!in_file.eof()) { // 6 getline(in_file, buffer, ' '); // 7 out_file << buffer << endl; // 8 } return 0; } 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 7
8 Files in Java Datenaustausch mit der Umgebung des Systems (Bsp.): System.out.println(): Ausdrucken von Daten auf dem Bildschirm gettext(): Auslesen eines Textes aus einer graphischen Komponente vom Typ TextField. Allg: Modellierung von externen Speichern und die Modellierung der Interaktion von Informatik-Systemen mit ihrer Umgebung. Definition Datei: Eine Verwaltungseinheit zur Repräsentation von externen Daten nach gewissen Organisationsformen, die den Zugriff innerhalb des Informatik-Systems auf die Daten festlegen Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 8
9 Streams in Java Um auf Dateien innerhalb eines Informatik-Systems zugreifen zu können, führen wir den Begriff des Streams ein. Definition Stream: Die interne Repräsentation einer (externen) Datei oder eines Ein-/Ausgabe (E/A)-Gerätes in einem Informatik-System. Definition Eingabe: Das Lesen der Daten von einer Datei oder von einem Eingabe-Gerät in einen Strom. Der Strom heißt dann Eingabestrom. Definition Ausgabe: Das Schreiben von Daten eines Stroms auf eine Datei oder ein Ausgabe-Gerät. Der Strom heißt dann Ausgabestrom. Ein Stream hat eine Quelle und eine Senke Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 9
10 Entwurf von Streams Wir modellieren Ströme als Klassen. Allgemein können wir sagen: Ein Strom hat zwei private Attribute Name: Bezeichner der mit dem Strom verbundenen Quelle oder Senke Marke: Zeiger auf das derzeitige Element (current element). Ein Strom stellt folgende Operationen bereit: open(): Öffnen der Verbindung mit einer (externen) Datei read(): Lesen eines Elements aus dem Strom. write(): Schreiben eines Elements in den Strom. close(): Schließen der Verbindung mit der Datei. Die Signatur der Operationen und die Implementierung von Strömen ist abhängig von der Programmiersprache; Implementierung von Dateien ist vom Betriebssystem abhängig. Java unterstützt Ströme und Dateien Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 10
11 Streams und Files: Systematik Object Reader Writer InputStream OutputStream File Klasse Beschreibung Reader Abstrakte Klasse für textuelle Eingabeströme Writer Abstrakte Klasse für textuelle Ausgabeströme InputStream Abstrakte Klasse für binäre Eingabeströme OutputStream Abstrakte Klasse für binären Ausgabeströme File Plattform-unabhängige Repräsentation von Dateien 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 11
12 Modellierung textueller Streams Input: Klasse BufferedReader CharArrayReader FileReader PipedReader StringReader LineNumberReader wurden. Beschreibung Gepufferte Eingabe bei textuellen Eingabeströmen Einlesen von Reihungen vom Typ char als Strom Einlesen von Text-Dateien Lesen von Textdaten aus einem anderen Thread Einlesen von Zeichenketten (String) als Strom Zählt Anzahl der Text-Zeilen, die bereits gelesen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 12
13 Modellierung textueller Streams Output: Klasse BufferedWriter CharArrayWriter FileWriter PipedWriter PrintWriter StringWriter Beschreibung Gepufferte Ausgabe bei textuellen Ausgabeströmen Schreiben von Textdaten in Reihungen vom Typ char Schreiben von Textzeichen in Text-Dateien Weitergabe von Textdaten an anderen Thread Textuelle Ausgabe von Java's Basistypen Schreiben von Textdaten in Zeichenketten (String) 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 13
14 Modellierung binärer Streams Input: Klasse ByteArrayInputSteam FileInputStream FilterInputStre BufferedInputStream DataInputStream ObjectInputStream PipedInputStream Beschreibung Einlesen von Reihungen vom Typ byte als Strom Einlesen von Binär-Dateien Ermöglicht gefiltertes Einlesen von Daten auf verschiedene Arten Ermöglicht das Puffern von Eingabedaten Lesen on vordefinierten elementaren Java-Typen Deserialisieren von Objekten Lesen von Binärdaten aus einem anderen Thread ( Info I 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 14
15 Output: Modellierung binärer Streams Klasse ByteArrayOutputSteam FileOutputStream FilterOutputStream BufferedOutputStream DataOutputStream ObjectOutputStream PipedOutputStream Beschreibung Schreiben von Binärdaten in Reihungen vom Type byte Schreiben von Bytes in Binär-Dateien Ermöglicht das gefilterte Schreiben von Daten auf verschiedene Arten Ermöglicht das Puffern von Ausgabedaten Schreiben von vordefinierten elementaren Java-Typen Serialisieren von Objekten Weitergabe von Binärdaten an anderen Thread ( 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 15
16 2 wichtige Konzepte Zur Verbesserung der Laufzeit von Informatik- Systemen mit Strömen gibt es 2 wichtige Konzepte: Puffern von Daten: Puffer werden benutzt, wenn das Ein-/Ausgabe-Gerät signifikant langsamer als der Prozessor ist. Konkatenation von Strömen: Wenn die Ausgabe eines Stroms die Eingabe eines anderen Stroms ist. (Beispiel "Unix pipes": ls more) 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 16
17 Schreiben und Lesen von beliebigen Objekten #1 Objekt-Serialisierung ist der Prozess des Schreibens eines Objektes auf einen Strom als eine Serie von Bytes. Objekt-Deserialisierung ist der Prozess des Lesens eines Objektes von einem Strom als eine Serie von Bytes. Objekte serializiert man mit ObjectOutputStream und deserialisiert sie mit ObjectInputStream 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 17
18 Schreiben und Lesen von beliebigen Objekten #2 Um ein Objekt zu serialisieren, muss es als Argument beim Aufruf der writeobject()-methode übergeben werden. Zur Deserialisierung eines Objekts wird die readobject()-methode aufgerufen. Wichtig: Die Java Schnittstelle Serializable hat weder Methoden noch Konstanten (sog. Marker Interface) Klassen müssen diese Schnittstelle trotzdem "implementieren", um anzuzeigen, dass sie serialisiert und deserialisiert werden dürfen Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 18
19 Lineare Listen Head Schlüssel Daten Verweis Schlüssel Daten NULL 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 19
20 Einfach verkettete Liste Head Schlüssel Schlüssel Schlüssel Daten Daten Daten Next Next NULL Doppelt verkettete Liste Head Schlüssel Schlüssel Schlüssel Daten Daten Daten Next Next NULL NULL Previous Previous Tail 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 20
21 Zyklische Liste Head Schlüssel Schlüssel Schlüssel Daten Daten Daten Next Next Next 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 21
22 Schlangen: Implementierung als Liste Einfügen Einfügen > >... > Entfernen Entfernen als Feld frei belegt frei Abb Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 22
23 Einseitig beschränkte Schlange Einfügen > >... > Entfernen Abb 16 a Das Einfügen / Entfernen der Listenelemente nur möglich: entweder: nur auf den/vom Anfang das Ende der Schlange nicht begrenzt oder: nur auf das/vom Ende der Anfang der Schlange nicht begrenzt 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 23
24 Zweiseitig beschränkte Schlange Einfügen > >... > Entfernen Das Einfügen / Entfernen der Listenelemente nur möglich: Abb. 16 b entweder: Einfügen nur auf den Anfang Entfernen nur vom Ende oder: Einfügen nur auf das Ende Entfernen nur vom Anfang Beides begrenzt: Anfang und Ende 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 24
25 FIFO frei Füllrichtung > Entnehmen class FIFOElement {... } Einfügen Abb.17 class FIFO { FIFOelement[] X=new FIFOelement[MaxZahl];... } belegt 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 25
26 LIFO (Stack, Kellerspeicher) Einfügen > class LIFOElement {... } Entnehmen Abb.17a class LIFO { LIFOelement[] X=new LIFOelement[MaxZahl];... } 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 26 <
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,
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
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
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
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
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
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
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
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
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
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
MehrObjektserialisierung
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
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 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
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
MehrEin- und Ausgabe (I/O)
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 14 Motivation Computer arbeiten
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
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23
Kapitel 16 Datei Aus- und Eingabe Seite 1 von 23 Datei Aus- und Eingabe - Für die Ausgabe auf Dateien und die Eingabe von Dateien werden die Streams ofstream und ifstream verwendet. - Sie sind in der Bibliothek
MehrEinführung in die Informatik II Ströme und Dateien
Einführung in die Informatik II Ströme und Dateien Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität München Sommersemester 2004 8. Juni 2004 Letzte Änderung: 17.06.2004 10:03 Copyright
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
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)...
MehrDie elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert.
Ein- und Ausgabe Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Komplexe E/A-Operationen werden erst diskutiert, nachdem das Klassenkonzept erarbeitet
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
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:
MehrDateizugriff unter C
Begriffe Dateizugriff unter C Datei = sequentielle Ansammlung von Datenbytes, z.b. auf einer Festplatte Auch Bildschirm und Tastatur werden wie Dateien behandelt: Bildschirm ist die Datei stdout Tastatur
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. 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
MehrInformatik 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
MehrJohannes Unterstein - TINF16 - Java - Sommersemester 2017 JAVA. Wiederholung
JAVA Wiederholung 137 WIEDERHOLUNG ALLGEMEIN public static void main(string args[]) {...} Namenskonventionen: KlassenNamen beginnen mit Großbuchstaben Variablen- und Methoden-Namen mit kleinem Buchstaben
MehrProblemstellung. 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
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
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
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;
MehrEin- und Ausgabe mit Dateien
Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main 2 Vorbemerkungen
MehrLiebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren.
Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren. Niemand bedauert diese Fehler mehr als der Autor selbst.
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
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
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Christof Beyer Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 7-1 Bisher eingeführt war für Namen nur der Datentyp char. Dieser erlaubt das Speichern
MehrInformationsverarbeitung
1/19 Informationsverarbeitung Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2011/2012 Vorlesung 13 (Download Quelldateien)
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
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
MehrEin- und Ausgabe mit Dateien
Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main Vorbemerkungen
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
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:
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
MehrKapitel 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
MehrSchwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen
Schwerpunkte 7. Verkettete Strukturen: Listen Java-Beispiele: IntList.java List.java Stack1.java Vergleich: Arrays verkettete Listen Listenarten Implementation: - Pascal (C, C++): über Datenstrukturen
MehrProgrammieren 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
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
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
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrGrundlagen der Informatik 6. Arrays I
6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt
MehrInformatik II Übung 5
Informatik II Übung 5 Florian Scheidegger florsche@student.ethz.ch Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer gabor.soros@inf.ethz.ch, simon.mayer@inf.ethz.ch 27.03.2013
MehrALP II Dynamische Datenmengen
ALP II Dynamische Datenmengen Teil III Iteratoren Iterator-Objekt O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 22. ALP2-Vorlesung, M. Esponda 2 Motivation: Iteratoren Wir haben für die Implementierung
Mehrios fstream ifstream
4 Grundlagen der Dateiarbeit 4.1 File-Stream-Klassen Mit der Beendigung eines Programms gehen die im Hauptspeicher gehaltenen Daten des Programms verloren. Um Daten permanent zu speichern, müssen sie in
Mehr12.3 Ein Datenmodell für Listen
Zweiter Versuch: Wir modellieren ein Element der Liste zunächst als eigenständiges Objekt. Dieses Objekt hält das gespeicherte Element. Andererseits hält das Element- Objekt einen Verweis auf das nächste
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
MehrStreams. Programmiermethodik. Eva Zangerle Universität Innsbruck
Streams Programmiermethodik Eva Zangerle Universität Innsbruck Dateien In Java gibt es eine File-Klasse. Liefert Informationen über Dateien und Verzeichnisse. Diese Klasse wurde eingeführt, um Dateioperationen
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
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
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
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 13. Klassenbibliotheken Klassenbibliotheken Seite 2 Sammlung von Algorithmen und Klassen in Klassenbibliotheken: Konzept:
MehrAlgorithmen & Datenstrukturen
Algorithmen & Datenstrukturen Dr. Ing.Jiri Spale 2008 Jiri Spale, Algorithmen und Datenstrukturen - Einführung 1 Fundamentale Datenstrukturen 2008 Jiri Spale, Algorithmen und Datenstrukturen - Einführung
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
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1
Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1
Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 10: Arbeiten mit Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen in C 4. Bildschirm
MehrJava Schulung. Objektorientierte Programmierung in Java Teil VI: Wichtige Java Pakete. Prof. Dr. Nikolaus Wulff
Java Schulung Objektorientierte Programmierung in Java Teil VI: Wichtige Java Pakete Prof. Dr. Nikolaus Wulff Java Pakete Für die meisten Aufgaben stellt Java bereits viele nützliche Bibliotheken zur Verfügung:
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
MehrElementare Datentypen in C++
Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der
Mehr1 Abstrakte Datentypen
1 Abstrakte Datentypen Spezifiziere nur die Operationen! Verberge Details der Datenstruktur; der Implementierung der Operationen. == Information Hiding 1 Sinn: Verhindern illegaler Zugriffe auf die Datenstruktur;
MehrKlausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert
MehrPraktikum Betriebssysteme 1. Aufgabe (1)
FG TECHNISCHE INFORMATIK U BS 041 01 TH 09 Praktikum Betriebssysteme 1. Aufgabe (1) Es wird ein unter LINUX lauffähiges C++-Programm ptab, mit dem Informationen über die Partitionierung von Festplatten
MehrHochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe
Aufgabe 6: Häuser verwalten - dynamisch Für ein Schneeräumungsunternehmen soll ein Programm zur Verwaltung von Häuserlisten geschrieben werden. Das Programm soll in der Lage sein, zu einem Haus die wichtigsten
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang
Mehr12.2 Persistente Objekte
12.2 Persistente Objekte Persistenz im engeren Sinn bedeutet: Langzeitspeicherung für beliebig getypte Objekte Ideal Orthogonale Persistenz : Lebensdauer und Typ von Objekten sind unabhängige Konzepte
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für
Mehr6.1.5 Verzeichnisdateien
6.1.5 Verzeichnisdateien Anstelle eines zentralen Verzeichnisses: Menge von Verzeichnisdateien (directory files), die selbst in Verzeichnissen verzeichnet sind, alle ab einem Wurzelverzeichnis (root directory)
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
MehrEinführung in die STL anhand eines ausgewählten Beispiels
Einführung in die STL anhand eines ausgewählten Beispiels Frank M. Thiesing http://home.t-online.de/home/ frank.thiesing/stl/stl-folien.pdf Inhalt Überblick über die C++ STL Container Iteratoren Algorithmen
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 4 Storage classes Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Compilation units Compilierung eines mehrteiligen Programms:
MehrAdvanced Programming in C
Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer
MehrObjektorientiertes Programmieren für Ingenieure
Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen
MehrALP II Dynamische Datenmengen Datenabstraktion
ALP II Dynamische Datenmengen Datenabstraktion O1 O2 O3 O4 SS 2012 Prof Dr Margarita Esponda M Esponda-Argüero 1 Dynamische Datenmengen Dynamische Datenmengen können durch verschiedene Datenstrukturen
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
MehrNachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.
Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrTeil 8: Dynamische Speicherverwaltung. Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden
Teil 8: Dynamische Speicherverwaltung Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden Inhaltsverzeichnis 8 Dynamische Speicherverwaltung... 3 8.1
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,
MehrALP II Dynamische Datenmengen Datenabstraktion (Teil 2)
ALP II Dynamische Datenmengen Datenabstraktion (Teil 2) O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 49 Einfach verkettete Listen O1 O2 O3 50 Einführung Einfach verkettete Listen sind die einfachsten
MehrJava I/O, Serialisierung und Netzwerkprogrammierung
Java I/O, Serialisierung und Netzwerkprogrammierung Philipp Güttler 16. Dezember 2009 Universität Ulm, Abt. SGI Progwerkstatt 2 19 Gliederung Java I/O, Serialisierung und Netzwerkprogrammierung 16. Dezember
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
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()
Mehr9. Vektoren. (auch Felder/array)
9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die
MehrInhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling
Input / Output in C, C++ Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling Page 1 Ausgaben in C,C++ - generell Fuer C basierte Ausgaben:
MehrProgrammieren I. Kapitel 13. Listen
Programmieren I Kapitel 13. Listen Kapitel 13: Listen Ziel: eigene Datenstrukturen erstellen können und eine wichtige vordefinierte Datenstruktur( familie) kennenlernen zusammengehörige Elemente zusammenfassen
Mehr