Slide1 l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 30

Ashraf Abu Baker [email protected] PowerPoint PPT Presentation


  • 86 Views
  • Uploaded on
  • Presentation posted in: General

Johann Wolfgang Goethe-Universität Professur für Graphische Datenverarbeitung Fachbereich Informatik und Mathematik Prof. Dr. Detlef Krömker . Einführung in die OOP in Java. WS 07/08. Ashraf Abu Baker [email protected] Dateien und Verzeichnisse.

Download Presentation

Ashraf Abu Baker [email protected]

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Slide1 l.jpg

Johann Wolfgang Goethe-Universität

Professur für Graphische Datenverarbeitung

Fachbereich Informatik und Mathematik

Prof. Dr. Detlef Krömker

Einführung in die OOP in Java

WS 07/08

Ashraf Abu Baker

[email protected]

Java-Intensivkurs WS07/08

Folie 1


Dateien und verzeichnisse l.jpg

Dateien und Verzeichnisse

  • Abstraktion von Dateien und Verzeichnissen:

    • java.io.File()

  • File-Objekt repräsentiert den Namen einer Datei bzw. eines Verzeichnisses

    • Datei bzw. Verzeichnis muss physikalisch nicht existieren

  • File:

    • Zahlreiche Methoden zur Navigation des Dateisystem & Manipulation von Dateien und Verzeichnissen

Java-Intensivkurs WS07/08

Folie 2


Dateien und verzeichnisse3 l.jpg

Dateien und Verzeichnisse

  • Konstruktoren:

    • File(String pathName), File(String dir, String subPath)

      File(File dir, String subPath)

      • Erzeugt ein Objekt, das eine abstrakte Repräsentation der Datei oder des Verzeichnisses kapselt

      • Das Instanziieren

        • bedeutet nicht, dass die Datei bzw. das Verzeichnis angelegt wird

        • setzt die Existenz der Datei bzw. des Verzeichnisses nicht voraus

      • File-Objekt = abstrakte Beschreibung einer Datei oder eines Verzeichnisses

Java-Intensivkurs WS07/08

Folie 3


Dateien und verzeichnisse4 l.jpg

Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 4


Dateien und verzeichnisse5 l.jpg

Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 5


Dateien und verzeichnisse6 l.jpg

Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 6


Dateien und verzeichnisse7 l.jpg

Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 7


Dateien und verzeichnisse8 l.jpg

Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 8


Dateien und verzeichnisse9 l.jpg

Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 9


Dateien und verzeichnisse10 l.jpg

Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 10


Dateien und verzeichnisse11 l.jpg

Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 11


Dateien und verzeichnisse12 l.jpg

Dateien und Verzeichnisse

src

Bankkonto.java

InitializationDemo.java

InitLocalVar.java

io

FileLister.java

FileCopy.javamodifier2

ForeignClassesInDifferentPackage.java

Java-Intensivkurs WS07/08

Folie 12


Wahlfreier zugriff auf dateien randomaccessfile l.jpg

Wahlfreier Zugriff auf Dateien (RandomAccessFile)

  • java.io.RandomAccessFile

    • Mechanismus zum wahlfreien Zugriff auf Dateien

    • Datei:

      • Ein Array von Bytes, das an jeder beliebiger Stelle zugegriffen werden kann

    • Wahlfreier Zugriff:

      • Lesen und Schreiben an jeder Position innerhalb der Datei

Java-Intensivkurs WS07/08

Folie 13


Randomaccessfile l.jpg

RandomAccessFile

  • Konstruktoren:

    • RandomAccessFile(String file, String mode)

    • RandomAccessFile(File file, String mode)

      • Mode:

        • „r“ : Datei nur zum Lesen öffnen

        • „rw“ : Datei nur zum Lesen und Schreiben öffnen

        • „rws“

        • „rwd“

    • Ein RandomAccessFile-Objekt

      • verfügt über einen Positionierungszeiger

Java-Intensivkurs WS07/08

Folie 14


Randomaccessfile15 l.jpg

RandomAccessFile

  • Zeiger:

    • Wird zur Navigation innerhalb der Datei verwendet

    • Zeigt jedem Zeitpunkt auf eine Position innerhalb der Datei

  • Methoden

    • getFilePointer()

      • liefert die aktuelle Position des Zeigers

    • void seek(long position)

      • bewegt den Zeiger zur angegeben Position

Java-Intensivkurs WS07/08

Folie 15


Randomaccessfile16 l.jpg

RandomAccessFile

  • skipBytes( int n ) :

    • bewegt Zeiger relativ zur aktuellen Position, um n Bytes

      • n negativ?

        • keine Bytes werden übersprungen

  • int read():

    • liefert den Byte, auf den der Zeiger gerade zeigt als int-Wert zurück

  • int read(byte dest[]):

    • versucht so viele Bytes zu lesen, so dass das Array gefüllt wird

    • liefert die Anzahl der gelesenen Bytes bzw. -1, wenn der Zeiger auf das Ende der Datei zeigt

Java-Intensivkurs WS07/08

Folie 16


Randomaccessfile17 l.jpg

RandomAccessFile

  • Alle Methoden erhöhen die Zeigerposition um die Anzahl der gelesenen Bytes

  • Zu jeder read-Methode existiert eine korrespondierende write-Methode

  • Alle o.g. Methoden werfen eine IOException

Java-Intensivkurs WS07/08

Folie 17


Randomaccessfile18 l.jpg

RandomAccessFile

Java-Intensivkurs WS07/08

Folie 18


Randomaccessfile19 l.jpg

RandomAccessFile

Java-Intensivkurs WS07/08

Folie 19


Randomaccessfile20 l.jpg

RandomAccessFile

Java-Intensivkurs WS07/08

Folie 20


Input output streams l.jpg

Input- Output-Streams

  • Streams (Ströme)

    • Klassen, mit denen Dateien sequentiell gelesen und beschrieben werden

    • Ein Stream sieht eine Datei als:

      • Geordnete Folge von Bytes bzw. Zeichen, auf die er nur sequenziell zugreifen kann

  • Zwei Arten:

    • Input-Streams (Eingabeströme)

      • Zum Lesen

    • Output-Streams (Ausgabeströme)

      • Zum Schreiben

Java-Intensivkurs WS07/08

Folie 21


Input output streams22 l.jpg

Input- Output-Streams

  • Low-Level Streams (ByteStreams):

    • Lesen bzw. schreiben direkt in bzw. aus einer Datei

    • Lesen bzw. Schreiben nur Bytes

  • High-Level Streams (Charactrer-Streams)

    • Verwenden andere Low-Level-Streams zum Lesen und Schreiben

    • Können Zeichen und Daten primitiver Datentypen schreiben und lesen

  • Reader und Writer

    • Verwenden andere High-Level Streams zum Lesen und Schreiben

    • Können Zeichen und Daten primitiver Datentypen schreiben und lesen

Java-Intensivkurs WS07/08

Folie 22


Low level streams bytestreams l.jpg

Low-Level-Streams (ByteStreams)

  • FileInputStream und FileOutputStream

    • Konstruktoren:

      • FileInputStream(String pathname)

      • FileInputStream(File file)

      • FileOutputStream(String pathname)

      • FileOutputStream(File file)

Java-Intensivkurs WS07/08

Folie 23


Low level streams bytestreams24 l.jpg

Low-Level-Streams (ByteStreams)

Java-Intensivkurs WS07/08

Folie 24


High level streams l.jpg

High-Level Streams

  • DataInputStream

  • DataOutputSteam

Java-Intensivkurs WS07/08

Folie 25


Reader writer l.jpg

Reader & Writer

  • FileReader

Java-Intensivkurs WS07/08

Folie 26


Bufferedreader l.jpg

BufferedReader

  • BufferedReader

    • Filter zur Pufferung von Eingaben

      • Höhere Performance beim Lesen von externen Dateien readLine():

      • Liest eine komplette Textzeile und gibt sie als String zurück

Java-Intensivkurs WS07/08

Folie 27


Bufferedreader28 l.jpg

BufferedReader

Java-Intensivkurs WS07/08

Folie 28


Filewriter l.jpg

FileWriter

  • FileWriter:

Java-Intensivkurs WS07/08

Folie 29


Bufferedwriter l.jpg

BufferedWriter

Java-Intensivkurs WS07/08

Folie 30


  • Login