Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.
 
Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Imperative Sprachkonzepte
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Eigene Klassen schreiben
6 Objektorientierte Beziehungsfragen
7 Ausnahmen müssen sein
8 Äußere.innere Klassen
9 Besondere Typen der Java SE
10 Generics<T>
11 Lambda-Ausdrücke und funktionale Programmierung
12 Architektur, Design und angewandte Objektorientierung
13 Die Klassenbibliothek
14 Einführung in die nebenläufige Programmierung
15 Einführung in Datenstrukturen und Algorithmen
16 Einführung in grafische Oberflächen
17 Einführung in Dateien und Datenströme
18 Einführung ins Datenbankmanagement mit JDBC
19 Einführung in <XML>
20 Testen mit JUnit
21 Bits und Bytes und Mathematisches
22 Die Werkzeuge des JDK
A Java SE Paketübersicht
Stichwortverzeichnis

Download:
- Beispielprogramme, ca. 20,0 MB
- Übungsaufgaben, ca. 1,8 MB
- Musterlösungen, ca. 0,8 MB

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Java ist auch eine Insel von Christian Ullenbloom
Das umfassende Handbuch
Buch: Java ist auch eine Insel

Java ist auch eine Insel
Rheinwerk Computing
1306 Seiten, gebunden, 11. Auflage
49,90 Euro, ISBN 978-3-8362-2873-2
Pfeil 17 Einführung in Dateien und Datenströme
Pfeil 17.3 Dateisysteme unter NIO.2
Pfeil 17.3.1 java.io-Paket mit File-Klasse
Pfeil 17.3.2 NIO.2 und java.nio-Paket
Pfeil 17.1 Datei und Verzeichnis
Pfeil 17.1.1 FileSystem und Path
Pfeil 17.1.2 Die Utility-Klasse Files
Pfeil 17.1.3 Dateien kopieren und verschieben
Pfeil 17.1.4 Neue Dateien, Verzeichnisse, symbolische Verknüpfungen anlegen und löschen
Pfeil 17.2 Dateien mit wahlfreiem Zugriff
Pfeil 17.2.1 Ein RandomAccessFile zum Lesen und Schreiben öffnen
Pfeil 17.2.2 Aus dem RandomAccessFile lesen
Pfeil 17.2.3 Schreiben mit RandomAccessFile
Pfeil 17.2.4 Die Länge des RandomAccessFile
Pfeil 17.2.5 Hin und her in der Datei
Pfeil 17.4 Stream-Klassen für Bytes und Zeichen
Pfeil 17.4.1 Lesen aus Dateien und Schreiben in Dateien
Pfeil 17.4.2 Byteorientierte Datenströme über Files beziehen
Pfeil 17.4.3 Zeichenorientierte Datenströme über Files beziehen
Pfeil 17.4.4 Funktion von OpenOption bei den Files.newXXX(…)-Methoden
Pfeil 17.4.5 Ressourcen aus dem Klassenpfad und aus JAR‐Archiven laden
Pfeil 17.4.6 Die Schnittstellen Closeable, AutoCloseable und Flushable
Pfeil 17.5 Basisklassen für die Ein-/Ausgabe
Pfeil 17.5.1 Die abstrakten Basisklassen
Pfeil 17.5.2 Übersicht über Ein-/Ausgabeklassen
Pfeil 17.5.3 Die abstrakte Basisklasse OutputStream
Pfeil 17.5.4 Die abstrakte Basisklasse InputStream
Pfeil 17.5.5 Die abstrakte Basisklasse Writer
Pfeil 17.5.6 Die abstrakte Basisklasse Reader
Pfeil 17.6 Datenströme filtern und verketten
Pfeil 17.6.1 Streams als Filter verketten (verschachteln)
Pfeil 17.6.2 Gepufferte Ausgaben mit BufferedWriter und BufferedOutputStream
Pfeil 17.6.3 Gepufferte Eingaben mit BufferedReader/BufferedInputStream
Pfeil 17.7 Vermittler zwischen Byte-Streams und Unicode-Strömen
Pfeil 17.7.1 Datenkonvertierung durch den OutputStreamWriter
Pfeil 17.7.2 Automatische Konvertierungen mit dem InputStreamReader
Pfeil 17.8 Zum Weiterlesen
 
Zum Seitenanfang

17Einführung in Dateien und Datenströme Zur vorigen ÜberschriftZur nächsten Überschrift

»Schlagfertigkeit ist jede Antwort, die so klug ist, dass der Zuhörer wünscht, er hätte sie gegeben.«
– Elbert Green Hubbard (1856–1915)

Computer sind für uns so nützlich, weil sie Daten bearbeiten. Der Bearbeitungszyklus beginnt mit dem Einlesen der Daten, umfasst das Verarbeiten und endet mit der Ausgabe der Daten. In der deutschsprachigen Informatikliteratur wird deswegen auch vom EVA-Prinzip der Datenverarbeitungsanlagen gesprochen. In frühen EDV-Zeiten wurde die Eingabe vom Systemoperator auf Lochkarten gestanzt. Glücklicherweise sind diese Zeiten vorbei. Heutzutage speichern wir unsere Daten in Dateien (engl. files[ 243 ]) und Datenbanken ab. Es ist wichtig anzumerken, dass eine Datei nur in ihrem Kontext interessant ist, andernfalls beinhaltet sie für uns keine Information – die Sichtweise auf eine Datei ist demnach wichtig. Auch ein Programm besteht aus Daten und wird oft in Form einer Datei repräsentiert.

 
Zum Seitenanfang

17.3Dateisysteme unter NIO.2 Zur vorigen ÜberschriftZur nächsten Überschrift

 
Zum Seitenanfang

17.3.1java.io-Paket mit File-Klasse Zur vorigen ÜberschriftZur nächsten Überschrift

Das java.io-Paket gibt es schon seit Java 1.0. Es deklariert eine zentrale Klasse File, und diese bietet zahlreiche dateiorientierte Operationen. Dazu zählen Möglichkeiten, Dateien anzulegen, zu löschen, umzubenennen und sie in Verzeichnissen zu strukturieren. Allerdings konzentriert sich alles auf eine Klasse, und sie kann alltägliche Probleme nicht wirklich lösen:

  • Wie lässt sich eine Datei einfach und schnell kopieren?

  • Wie lässt sich eine Datei verschieben, wobei die Semantik auf unterschiedlichen Plattformen immer gleich ist?

  • Wie lässt sich auf eine Änderung im Dateisystem reagieren, sodass uns ein Callback informiert, sobald sich eine Datei verändert hat?

  • Wie lässt sich einfach ein Verzeichnis rekursiv ablaufen?

  • Wie lässt sich eine symbolische Verknüpfung anlegen und verfolgen?

  • Die File-Klasse wurde immer mehr zum Sammelbecken für alle möglichen Anfragemethoden wie Lesbarkeit, Änderungsdatum usw. Ein Problem ist dabei, dass gewisse Dinge nicht wirklich auf jedem System identisch sind – etwa die Dateirechte.

  • Wie lässt sich realisieren, dass die File-Operationen abstrahiert werden und nicht nur auf dem lokalen Dateisystem basieren? Wünschenswert ist eine Abstraktion, sodass die gleiche API auch ein virtuelles Dateisystem im Hauptspeicher, entfernte Dateisysteme wie FTP oder ein Repository anspricht.

 
Zum Seitenanfang

17.3.2NIO.2 und java.nio-Paket Zur vorigen ÜberschriftZur nächsten Überschrift

Diese Probleme wurden für Java 7 angegangen und in der JSR-203, »More New I/O APIs for the JavaTM Platform ("NIO.2")«, spezifiziert. Die JSR begann schon 2003, und so waren die Erwartungen der Java-Community groß, dass sie nicht so lange warten müssten. Aber erst in Java 7 kam es zum großen Wurf. Das macht die »alte« File-Klasse eigentlich überflüssig, aber vermutlich scheut sich Oracle davor, ein @Deprecated an die Klasse zu setzen, denn sonst würden plötzlich riesige Mengen Quellcode in vielen Programmen markiert.

Die neuen Typen befinden sich im Gegensatz zu File, das im java.io-Paket liegt, im Paket java.nio.file. Es gibt zwar Brücken zwischen den APIs, doch ersetzen die neuen NIO.2-Typen die File-Klasse vollständig. Wir setzen daher die aktuellen und leistungsfähigen Typen in den Vordergrund und schieben die nunmehr uninteressante Klasse File nach hinten.

 


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück
 Zum Katalog
Zum Katalog: Java ist auch eine Insel Java ist auch eine Insel
Jetzt bestellen

 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Java SE 8 Standard-Bibliothek
Java SE 8 Standard-Bibliothek


Zum Katalog: Professionell entwickeln mit Java EE 7
Professionell entwickeln mit Java EE 7


Zum Katalog: Schrödinger programmiert Java
Schrödinger programmiert Java


Zum Katalog: Einführung in Java
Einführung in Java


Zum Katalog: Programmieren lernen mit Java
Programmieren lernen mit Java


Zum Katalog: Apps entwickeln für Android 5
Apps entwickeln für Android 5


Zum Katalog: Apps entwickeln mit Android Studio
Apps entwickeln mit Android Studio


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2016
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de