slide1 l.
Download
Skip this Video
Download Presentation
Ashraf Abu Baker baker@gdv.cs.uni-frankfurt.de

Loading in 2 Seconds...

play fullscreen
1 / 30

Ashraf Abu Baker baker@gdv.cs.uni-frankfurt.de - PowerPoint PPT Presentation


  • 120 Views
  • Uploaded on

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 baker@gdv.cs.uni-frankfurt.de. Dateien und Verzeichnisse.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Ashraf Abu Baker baker@gdv.cs.uni-frankfurt.de' - tacy


Download Now 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

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

baker@gdv.cs.uni-frankfurt.de

Java-Intensivkurs WS07/08

Folie 1

dateien und verzeichnisse
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
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
Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 4

dateien und verzeichnisse5
Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 5

dateien und verzeichnisse6
Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 6

dateien und verzeichnisse7
Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 7

dateien und verzeichnisse8
Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 8

dateien und verzeichnisse9
Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 9

dateien und verzeichnisse10
Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 10

dateien und verzeichnisse11
Dateien und Verzeichnisse

Java-Intensivkurs WS07/08

Folie 11

dateien und verzeichnisse12
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
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
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
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
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
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
RandomAccessFile

Java-Intensivkurs WS07/08

Folie 18

randomaccessfile19
RandomAccessFile

Java-Intensivkurs WS07/08

Folie 19

randomaccessfile20
RandomAccessFile

Java-Intensivkurs WS07/08

Folie 20

input output streams
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
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
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
Low-Level-Streams (ByteStreams)

Java-Intensivkurs WS07/08

Folie 24

high level streams
High-Level Streams
  • DataInputStream
  • DataOutputSteam

Java-Intensivkurs WS07/08

Folie 25

reader writer
Reader & Writer
  • FileReader

Java-Intensivkurs WS07/08

Folie 26

bufferedreader
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
BufferedReader

Java-Intensivkurs WS07/08

Folie 28

filewriter
FileWriter
  • FileWriter:

Java-Intensivkurs WS07/08

Folie 29

bufferedwriter
BufferedWriter

Java-Intensivkurs WS07/08

Folie 30