Dateien
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

Dateien PowerPoint PPT Presentation


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

Dateien. 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 und Dateien. Sie werden durch ihre Namen eindeutig gekennzeichnet. Die Klasse File :

Download Presentation

Dateien

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


Dateien

Dateien

DVG2 - 05 - Dateien


Die klasse file

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 und Dateien. Sie werden durch ihre Namen eindeutig gekennzeichnet.

  • Die Klasse File:

    • Bildet Objekte des Filesystems auf Instanzen der Klasse File ab.

    • Stellt die Verbindung zwischen Datei und Dateinamen her.

    • Ermöglicht das Lesen von Verzeichnissen.

    • Ermöglicht das Lesen von Attributen von Dateien und Verzeichnissen.

    • Ermöglicht das Erzeugen, Löschen, Umbenennen und Modifizieren von Dateien und Verzeichnissen.

    • Stellt eine vom Betriebsystem unabhängige Schnittstelle zur Verfügung.

DVG2 - 05 - Dateien


Attribute der klasse file

Attribute der Klasse File

  • static String pathSeparator

    • liefert die Zeichenkette, die Pfadeinträge im PATH trennt

    • UNIX : ":"

    • WINDOWS: ";"

  • static char pathSeparatorChar

    • das gleiche als Zeichen

  • static String separator

    • liefert die Zeichenkette, die Verzeichnisse im Pfad trennt

    • UNIX : "/"

    • WINDOWS: "\\"

  • static char separatorChar

    • das gleiche als Zeichen

DVG2 - 05 - Dateien


Konstruktoren der klasse file

Konstruktoren der Klasse File

  • File (String pathname)

    • erzeugt ein File-Objekt mit pathname als Pfad

  • File (String parent, String child)

    • erzeugt ein File-Objekt mit einem Pfad child ggf. relativ zu parent

  • File (File parent, String child)

  • File (URI uri)

    • URI: Uniform Resource Identifier, allgemeine standardisierte Beschreibung einer Ressource im Internet

    • Unterstützung der URIs ist neu ab Version 1.4 .

    • Es werden nur URIs unterstützt, die auf lokale allgemein zugängliche Ressourcen im Filesystem zugreifen.

    • Weierentwicklung der URLs (Uniform Resource Locator)

  • Konstruktoren öffnen die Dateien nicht! Es erfolgt kein Zugriff zum Filesystems.

DVG2 - 05 - Dateien


Statische methoden der klasse file

Statische Methoden der Klasse File

  • static File createTempFile(String prefix,String suffix, File directory)

  • static File createTempFile(String prefix,String suffix)

    • erzeugen temporäres File mit dem Namen:prefix....suffix im Standard-Verzeichnis für temporäre Dateien bzw. im Verzeichnis directory

  • static File [] listRoots()

    • erzeugt ein Feld von File-Objekten, die auf die Wurzelverzeichnisse zeigen, z.B.: Windows:

      • A:\

      • C:\

      • D:\

DVG2 - 05 - Dateien


Methoden der klasse file

Methoden der Klasse File

  • boolean canRead() // Test ob Datei lesbar ist

  • boolean canWrite() // Test ob Datei schreibbar ist

  • boolean exists() // Test ob Datei existiert

  • boolean isAbsolute() // Test ob Pfad absolut ist

  • boolean isDirectory() // Test ob File ein Verzeichnis ist

  • boolean isFile() // Test ob File eine Datei ist

  • boolean isHidden() // Test ob Datei versteckt ist

  • long lastModified() // Zeit der letzten Modifikation in Millisekunden seit 1.1.1970 0.00 GMT

  • boolean setLastModified(long time) // setzt Zeit der letzten Modifikation

  • boolean setReadOnly() // setzt das File auf ReadOnly

DVG2 - 05 - Dateien


Dateien

  • int compareTo(File pathname)vergleicht die Pfadnamen unter Berücksichtigung der Eigenschaften des Filesystems (z.B.: Groß- und Kleinschreibung)

    • f1.compareTo(f2) == 0 wenn Pfadnamen gleich

    • f1.compareTo(f2) < 0 wenn Pfadnamen von f1 vor f2

    • f1.compareTo(f2) > 0 wenn Pfadnamen von f1 nach f2

  • int compareTo(Object o)File implementiert Comparable

  • boolean equals (Object o)

    • f1.equals(f2) == true wenn Pfadnamen gleich

DVG2 - 05 - Dateien


Dateien

  • boolean createNewFile() // erzeugt eine neue leere Datei, falls sie noch nicht existiert

  • boolean delete() // löscht das File

  • void deleteOnExit() // löscht das File nach dem Ende des Programms

  • boolean mkdir() // erzeugt ein neues Verzeichnis

  • boolean mkdirs() // erzeugt ein neues Verzeichnis incl. aller erforderlichen Zwischenverzeichnisse

  • boolean renameTo(File dest) // benennt eine Datei um

DVG2 - 05 - Dateien


Dateien

  • File getAbsoluteFile() // gibt das File mit absolutem Pfadnamen aus

  • String getAbsolutePath() // gibt den absoluten Filenamen aus

  • File getCanonicalFile() // gibt das File mit kanonischem Pfadnamen aus

  • String getCanonicalPath()

  • String getName() // gibt den evtl. relativen Filenamen aus

  • String getParent() // gibt das Elternverzeichnis aus

  • File getParentFile()

  • String getPath()

  • long length() // gibt die Länge der Datei aus

  • String toString() // wie getName()

  • URL toURL() // gibt den Filenamen in Form eines URLs aus

  • URI toURI() // gibt den Filenamen in Form eines URIs aus

DVG2 - 05 - Dateien


Dateien

  • int hashCode()

  • String [] list() // gibt eine Liste aller in der Datei enthaltenen Dateien und Unterverzeichnisse aus

  • String [] list(FilenameFilter filter)

  • File [] listFiles()

  • File [] listFiles(FileFilter filter)

  • File [] listFiles(FilenameFilter filter)

DVG2 - 05 - Dateien


Das interface filefilter

Das Interface FileFilter

  • Mit Hilfe einer Implementation des Interfaces FileFilter kann in der listFiles-Methode der Klasse File eine Auswahl der auszugebenden File-Objekte getroffen werde.

  • Einzige zu implementierende Methode:public boolean accept(File pathname)gibt true zurück, wenn das File-Objekt ausgewählt werden soll und false sonst

DVG2 - 05 - Dateien


Das interface filenamefilter

Das Interface FileNameFilter

  • Mit Hilfe einer Implementation des Interfaces FileNameFilter kann in der list- und der listFiles-Methode der Klasse File eine Auswahl der auszugebenden File-Objekte getroffen werde.

  • Einzige zu implementierende Methode:public boolean accept(File dir, String name) gibt true zurück, wenn das File-Objekt ausgewählt werden soll und false sonst

DVG2 - 05 - Dateien


Beispiel verzeichnisinhalt anzeigen

Beispiel: Verzeichnisinhalt anzeigen

import java.io.*;

public class Dir {

public static void main (String [] args) throws IOException {

String dName = (args.length>0?args[0]:".");

File d = new File(dName);

if ( d.exists() ) {

file(d);

if (d.isDirectory()) dir(d);

}

else

System.err.println("File "+dName+" existiert nicht!");

}

DVG2 - 05 - Dateien


Dateien

static void file(File d) {

System.out.println((d.canRead()?"R":" ")+

(d.canWrite()?"W":" ")+

(d.isHidden()?"H":" ")+(d.isDirectory()?"D":"")+

(d.isFile()?"F":"")+" : "+d.length()+"\t"+

" : "+(new java.util.Date(d.lastModified()))+" : "+d);

}

static void dir(File d){

System.out.println("Verzeichnis : "+d);

File [] files = d.listFiles();

for (int i=0;i<files.length;i++) file(files[i]);

for (int i=0;i<files.length;i++)

if (files[i].isDirectory()) dir(files[i]);

}

}

DVG2 - 05 - Dateien


Beispiel verzeichnisinhalt mit filter anzeigen

Beispiel: Verzeichnisinhalt mit Filter anzeigen

import java.io.*;

public class DirF {

public static void main (String [] args) throws IOException {

String dName = (args.length>0?args[0]:".");

File d = new File(dName);

Filter fil = (args.length>1?new Filter(args[1]):null);

if ( d.exists() ) {

file(d);

if (d.isDirectory()) dir(d, fil);

}

else

System.err.println("File "+dName+" existiert nicht!");

}

DVG2 - 05 - Dateien


Dateien

static void file(File d) {

System.out.println((d.canRead()?"R":" ")+

(d.canWrite()?"W":" ")+

(d.isHidden()?"H":" ")+(d.isDirectory()?"D":"")+

(d.isFile()?"F":"")+" : "+d.length()+"\t"+

" : "+(new java.util.Date(d.lastModified()))+" : "+d);

}

static void dir(File d, Filter fil){

System.out.println("Verzeichnis : "+d);

File [] files = d.listFiles(fil);

for (int i=0;i<files.length;i++) file(files[i]);

for (int i=0;i<files.length;i++)

if (files[i].isDirectory()) dir(files[i], fil);

}

DVG2 - 05 - Dateien


Dateien

static class Filter implements FileFilter {

private String match;

Filter (String match) {

this.match=match;

}

public boolean accept (File f) {

if (f.isDirectory()) return true;

try {

return f.getCanonicalPath().indexOf(match)>=0;

}

catch (Exception e) {}

return false;

}

}

}

DVG2 - 05 - Dateien


  • Login