Vorlesung Programmieren. Java I/O: Input und Output mit Java. Ein-/Ausgabe von Daten. Java I/O. Heute. Grundlage fast aller Programme
|
|
|
- Waldemar Pfaff
- vor 9 Jahren
- Abrufe
Transkript
1 Vorlesung Programmieren Java I/O Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck Java I/O: Input und Output mit Java Heute Ein-/Ausgabe von Daten Grundlage fast aller Programme Auch: E/A (Eingabe/Ausgabe), I/O oder IO (Input/Output) Quelle und Ziel von Daten Dateien auf der Festplatte Ressourcen auf entfernten Rechnern (Webseite, Bild,...) Geräte (Drucker, Bildschirm, Serielle Schnittstelle, USB,...) Andere Programme Speicherbereiche 3 1
2 Dateien und Verzeichnisse Java stellt im package java.io Klassen für I/O bereit Dateien und Verzeichnisse: java.io.file Plattformübergreifende Abstraktion Problem der Darstellung von Pfaden Windows: c:\windows\system32\defrag.exe Unix: /usr/share/bug/tetex-bin/script Problem mit Laufwerksbuchstaben Unix kennt keine Laufwerke, nur / als Wurzelverzeichnis Windows nutzt Laufwerke statt Mountpoints 4 Die Klasse File Instanzen der Klasse File repräsentieren einen Speicherort Muss nicht physikalisch existieren Beispiele File f = new File( datei.txt ); //Datei datei.txt im aktuellen Verzeichnis File f = new File(../dir2 ); //Relative Pfadangaben Beispiele unter Windows File f = new File( c:\\windows ); //Achtung: Doppelbackslash File f = new File( c:/windows ); //Alternative: Forwardslash Beispiele unter Unix File f = new File( datei.txt ); //Datei datei.txt im aktuellen Verzeichnis File f = new File( /home/pfisterer/datei.txt ); //Absolute Angabe File f = new File( /dev/sda1 ); //Inhalt der Festplatte 5 Plattformabhängigkeit der Pfadangabe Angabe von Pfaden ist plattformabhängig Besonders Laufwerke und Pfadtrenner sind problematisch Pfadtrenner auf aktuellem System ist abfragbar File.separatorChar (Typ char), File.separator (Typ String) Alternativ: System.getProperty("file.separator ) Beispiel Ausgabe (Windows): 6 2
3 Darstellung von Pfaden String getname() Gibt den Dateinamen zurück String getpath() Gibt den Pfadnamen zurück String getabsolutepath(), File getabsolutefile() Liefert absoluten Pfad Besteht aus aktuellem Verzeichnis, Separator-Zeichen und Dateinamen String getcanonicalpath (), File getcanonicalfile() throws IOException Liefert eindeutigen, absoluten Pfad zurück (z.b. Entfernung von.. und.) Kann IOException werfen, da mitunter verbotene Dateizugriffe erfolgen boolean isabsolute() true, wenn der Pfad in der systemabhängigen Notation absolut ist 7 Laufwerke 8 Zugriff auf Laufwerke in Java Statische Methode java.io.file.listroots() listet Laufwerke Windows: alle Laufwerke, Unix: nur Rootverzeichnis / Nicht alle Roots müssen verfügbar sein (z.b. CD-Laufwerke) 9 3
4 Ermittlung des Speicherplatzes 10 Durchwandern von Verzeichnissen Ausgehend von einem Pfad Zum übergeordneten Verzeichnis wechseln Den Inhalt des Pfades ausgeben 11 Ermitteln des Typs einer File-Instanz Kann Verzeichnis oder Datei repräsentieren isdirectory prüft, ob es ein Verzeichnis ist isfile prüft, ob es eine Datei ist ishidden prüft, ob die Datei versteckt ist 12 4
5 Beispiel: Rekursives Auflisten 13 Sonstige (wichtige) Methoden 14 Ein- und Ausgabe in Java 5
6 I/O-Abstraktion in Java Sogenannte Streams (Ströme) von Daten Trennung von Input und Output Streams Sammlung von Klassen zum IO in java.io.* 16 Inhalt von Streams Streams unterstützen Bytes, primitive Datentypen, (lokalisierte) Zeichen, Objekte Für Programm ist ein Strom ein simples Konzept Sequenz von Daten Lesen und Schreiben immer Stück für Stück 17 Ein- und Ausgabe in Java Java abstrahiert von der eigentlichen Datenquelle Zwei grundlegende Konzepte Lesen von Bytes oder lesen von Zeichen Für byte-orientiertes I/O: *Stream Für zeichen-orientiertes I/O: *Reader / *Writer Beispiel für Dateien Bytes (oder Byte-Arrays) Lesen aus Datei FileInputStream FileReader Schreiben in Datei FileOutputStream FileWriter Zeichen (oder Zeichen-Arrays, Strings) 18 6
7 Beispiel: Lesen einer Datei Aufgabe: Ausgeben des Inhaltes einer Datei Spezielle Klasse zum Lesen einer Datei: FileInputStream read() liest jeweils ein Zeichen Liefert je ein Zeichen (-1 wenn die Datei fertig gelesen ist) 19 Beispiel: Lesen einer Datei in byte-array Lese Datei in byte[] Erstelle Histogramm der Buchstabenh äufigkeit 20 Beispiel: Schreiben in (Text-)Datei 21 7
8 Ein- und Ausgabe in Java: InputStream 22 Ein- und Ausgabe in Java: OutputStream 23 Ein- und Ausgabe in Java: Reader 24 8
9 Ein- und Ausgabe in Java: Writer 25 Klassen für die Eingabe Byte-Streams Zeichen-Streams Beschreibung InputStream Reader Abstrakte Klasse für Zeicheneingabe und Byte-Arrays BufferedInputStream BufferedReader Puffert die Eingabe LineNumberInputStream LineNumberReader Merkt sich Zeilennummern beim Lesen ByteArrayInputStream CharArrayReader Liest Zeichen-Arrays oder Byte-Arrays (keine Entsprechung) InputStreamReader Wandelt einen Byte-Stream in einen Zeichen-Stream um. Bindeglied zwischen Byte und Zeichen. DataInputStream (keine Entsprechung) Liest Primitive und auch UTF-8 FilterInputStream FilterReader Abstrakte Klasse für gefilterte Eingabe 26 Klassen für die Ausgabe Byte-Streams Zeichen-Streams Beschreibung OutputStream Writer Abstrakte Klasse für Zeichenausgabe oder Byte- Ausgabe BufferedOutputStream BufferedWriter ByteArrayOutputStream CharArrayWriter Schreibt in Arrays Ausgabe des Puffers, nutzt passendes Zeilenendezeichen DataOutputStream (keine Entsprechung) Schreibt Primitive und auch UTF-8 (keine Entsprechung) OutputStreamWriter Übersetzt Zeichen-Streams in Byte-Streams FileOutputStream FileWriter Schreibt in eine Datei PrintStream PrintWriter Konvertiert primitive Datentypen in Strings und schreibt sie in einen Ausgabestrom PipedOutputStream PipedWriter Schreibt in eine Pipe (keine Entsprechung) StringWriter Schreibt in einen String 27 9
10 Beispiel: BufferedInputStream 28 Beispiel: BufferedReader 29 Beispiel: Internet-Streams Aufgabe: Lesen einer Seite im Internet via http 30 10
11 Guter Stil Methoden sollten immer das generischste Interface akzeptieren z.b. InputStream, OutputStream, Writer, Reader Damit können sie maximal flexibel genutzt werden Security - 04 Cryptology #31 Verbesserte Variante Security - 04 Cryptology #32 Weitere Informationen
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Java Schulung (Java 2 Java Development Kit 5 / 6)
5. Ausnahmebehandlung mit Exceptions 5.1 Auf Laufzeitfehler reagieren Während des Programmablaufs können Fehler auftreten, die zum Zeitpunkt des Kompilierens nicht abzusehen sind (Laufzeitfehler) tritt
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
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
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
Programmieren 2 09 File-IO
Programmieren 2 09 File-IO Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke [email protected] 1 Eingabe und Ausgabe in Java Daten im Programm während der Ausführungszeit:
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:
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
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
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
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
Verteilte Systeme - Java Networking (Sockets) -
Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP
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,
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,
Java 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
Streams 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 Streaming Quelle InputStream
Streams. 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
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
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
Java 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:
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
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
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
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
Programmieren in Java
Programmieren in Java Bearbeitet von Fritz Jobst 3. Auflage 2001. Buch. XVI, 412 S. Hardcover ISBN 978 3 446 21637 2 Format (B x L): 16,9 x 24 cm Gewicht: 788 g Weitere Fachgebiete > EDV, Informatik >
Streams 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
Telecooperation/RBG. Grundlagen der Informatik 1 Thema 20: Ströme und Ein-/Ausgabe in Java. Dr. Guido Rößling
Technische Universität Darmstadt Telecooperation/RBG Grundlagen der Informatik 1 Thema 20: Ströme und Ein-/Ausgabe in Java Dr. Guido Rößling Copyrighted material; for TUD student use only Inhaltsverzeichnis
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
Grundlegende Java Bibliotheken
Grundlegende Java Bibliotheken Java Praktikum SS 2009 [email protected] 1 Grundlegende Java-Bibliotheken Ein-/Ausgabe Standard-IO, Streams, Files,... Ausnahmebehandlung New IO Character (En)Coding
Grundlagen zu Streams
17. Mit Character- und Bytestreams arbeiten Grundlagen zu Streams Was sind Streams? Die sequenziellen Ein- und Ausgaben werden in Java mit Streams (Strömen) realisiert. Mit einem Input-Stream (Eingabestrom)
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
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
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
Elisabeth Jung. Java 6 Das Übungsbuch Band II
Elisabeth Jung Java 6 Das Übungsbuch Band II Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie.
Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Dr. Klaus Höppner
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 26 Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien 2 / 26 Dateien: Allgemeines Kaum
