Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.
 
Inhaltsverzeichnis
Vorwort
1 Neues in Java 8 und Java 7
2 Fortgeschrittene String-Verarbeitung
3 Threads und nebenläufige Programmierung
4 Datenstrukturen und Algorithmen
5 Raum und Zeit
6 Dateien, Verzeichnisse und Dateizugriffe
7 Datenströme
8 Die eXtensible Markup Language (XML)
9 Dateiformate
10 Grafische Oberflächen mit Swing
11 Grafikprogrammierung
12 JavaFX
13 Netzwerkprogrammierung
14 Verteilte Programmierung mit RMI
15 RESTful und SOAP-Web-Services
16 Technologien für die Infrastruktur
17 Typen, Reflection und Annotationen
18 Dynamische Übersetzung und Skriptsprachen
19 Logging und Monitoring
20 Sicherheitskonzepte
21 Datenbankmanagement mit JDBC
22 Java Native Interface (JNI)
23 Dienstprogramme für die Java-Umgebung
Stichwortverzeichnis

Jetzt Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Java SE 8 Standard-Bibliothek von Christian Ullenboom
Das Handbuch für Java-Entwickler
Buch: Java SE 8 Standard-Bibliothek

Java SE 8 Standard-Bibliothek
Pfeil 6 Dateien, Verzeichnisse und Dateizugriffe
Pfeil 6.1 Alte und neue Welt in java.io und java.nio
Pfeil 6.1.1 java.io-Paket mit File-Klasse
Pfeil 6.1.2 NIO.2 und java.nio-Paket
Pfeil 6.2 Dateisysteme und Pfade
Pfeil 6.2.1 FileSystem und Path
Pfeil 6.2.2 Die Utility-Klasse Files
Pfeil 6.2.3 Dateien kopieren und verschieben
Pfeil 6.2.4 Dateiattribute *
Pfeil 6.2.5 Neue Dateien, Verzeichnisse, symbolische Verknüpfungen anlegen und löschen
Pfeil 6.2.6 MIME-Typen herausfinden *
Pfeil 6.2.7 Verzeichnislistings (DirectoryStream/Stream) und Filter *
Pfeil 6.2.8 Rekursives Ablaufen des Verzeichnisbaums *
Pfeil 6.2.9 Rekursiv nach Dateien/Ordnern suchen mit Files.find(…) *
Pfeil 6.2.10 Dateisysteme und Dateisystemattribute *
Pfeil 6.2.11 Verzeichnisse im Dateisystem überwachen *
Pfeil 6.3 Datei- und Verzeichnis-Operationen mit der Klasse File
Pfeil 6.3.1 Dateien und Verzeichnisse mit der Klasse File
Pfeil 6.3.2 Verzeichnis oder Datei? Existiert es?
Pfeil 6.3.3 Verzeichnis- und Dateieigenschaften/-attribute
Pfeil 6.3.4 Umbenennen und Verzeichnisse anlegen
Pfeil 6.3.5 Verzeichnisse auflisten und Dateien filtern
Pfeil 6.3.6 Dateien berühren, neue Dateien anlegen, temporäre Dateien
Pfeil 6.3.7 Dateien und Verzeichnisse löschen
Pfeil 6.3.8 Wurzelverzeichnis, Laufwerksnamen, Plattenspeicher *
Pfeil 6.3.9 URL-, URI- und Path-Objekte aus einem File-Objekt ableiten *
Pfeil 6.3.10 Mit Locking Dateien sperren *
Pfeil 6.3.11 Sicherheitsprüfung *
Pfeil 6.3.12 Zugriff auf SMB-Server mit jCIFS *
Pfeil 6.4 Dateien mit wahlfreiem Zugriff
Pfeil 6.4.1 Ein RandomAccessFile zum Lesen und Schreiben öffnen
Pfeil 6.4.2 Aus dem RandomAccessFile lesen
Pfeil 6.4.3 Schreiben mit RandomAccessFile
Pfeil 6.4.4 Die Länge des RandomAccessFile
Pfeil 6.4.5 Hin und her in der Datei
Pfeil 6.5 Wahlfreier Zugriff mit SeekableByteChannel und ByteBuffer *
Pfeil 6.5.1 SeekableByteChannel
Pfeil 6.5.2 ByteBuffer
Pfeil 6.5.3 Beispiel mit Path + SeekableByteChannel + ByteBuffer
Pfeil 6.5.4 FileChannel
Pfeil 6.6 Zum Weiterlesen
 
Zum Seitenanfang

6Dateien, Verzeichnisse und Dateizugriffe Zur vorigen ÜberschriftZur nächsten Überschrift

»Schlagersänger sind junge Männer, die bei Stromausfall keine Sänger mehr sind.«
– Danny Kaye (1913–1987)

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[ 69 ](Das englische Wort »file« geht auf das lateinische Wort »filum« zurück. Dies bezeichnete früher eine auf Draht aufgereihte Sammlung von Schriftstücken.)) 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

6.1Alte und neue Welt in java.io und java.nio Zur vorigen ÜberschriftZur nächsten Überschrift

 
Zum Seitenanfang

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

6.1.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 Java™ 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.

 


Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Java SE 8 Standard-Bibliothek Java SE 8 Standard-Bibliothek
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: Java ist auch eine Insel
Java ist auch eine Insel


Zum Rheinwerk-Shop: Professionell entwickeln mit Java EE 8
Professionell entwickeln mit Java EE 8


Zum Rheinwerk-Shop: Besser coden
Besser coden


Zum Rheinwerk-Shop: Entwurfsmuster
Entwurfsmuster


Zum Rheinwerk-Shop: IT-Projektmanagement
IT-Projektmanagement


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2018
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

Cookie-Einstellungen ändern