Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Methoden zur Analyse und Transformation von Pfadnamen

&pagelevel(5)&pagelevel

Die Methode getName() liefert den letzten Namensteil des Pfadnamens des RecordFile-Objektes. Das Ergebnis wird durch Streichen eines eventuell vorhandenen Dateisystempräfixes und jedes Namensteils, außer des Letzten, gebildet. Besteht der Pfadname lediglich aus einem Namensteil und handelt sich es dabei nicht um ein Dateisystempräfix, so wird der Pfadname des Objektes geliefert. Wenn der Pfadname leer ist oder nur aus dem Dateisystempräfix besteht, wird ein Leerstring geliefert.


Besonderheiten des DMS-Dateisystems

Das Dateisystempräfix ist die Katalogkennung.


Beispiel

Name

Ergebnis

:JAVA:$USER.HALLO.JAVA

HALLO.JAVA

:JAVA:HALLO.JAVA

HALLO.JAVA

$USER.HALLO.JAVA

HALLO.JAVA

HALLO.JAVA

HALLO.JAVA

:JAVA:$.HALLO.JAVA

HALLO.JAVA

:JAVA:$USER.

$USER.

:JAVA:

Leerstring ""

$USER.

$USER.


Die Methode getParent() liefert den Elternteil dieses Pfadnamens als String oder den Rückgabewert null, wenn der Pfadname keinen Elternteil besitzt. Der Elternteil eines Pfadnamens besteht aus dem Dateisystempräfix, falls vorhanden und aus jedem Namensbestandteil in der Namensfolge des Pfadnamens, außer dem Letzten. Wenn die Namensfolge leer ist, dann hat der Pfadname keinen Elternteil.


Besonderheiten des DMS-Dateisystems

Das Dateisystempräfix ist die Katalogkennung.


Beispiel

Name

Ergebnis

:JAVA:$USER.HALLO.JAVA

:JAVA:$USER.

:JAVA:HALLO.JAVA

:JAVA:

$USER.HALLO.JAVA

$USER.

HALLO.JAVA

null

:JAVA:$.HALLO.JAVA

:JAVA:$.

:JAVA:$USER.

:JAVA:

:JAVA:

null

$USER.

null


Die Methode getParentFile() liefert wie die Methode getParent() den Elternteil dieses Pfadnamens, aber als ein RecordFile-Objekt. Wenn der Pfadnamen kein Elternteil hat, wird null geliefert.

Die Methode isAbsolute() liefert true, wenn der Pfadname dieses RecordFile-Objektes ein absoluter Pfadname ist. Was ein absoluter Pfadname ist, ist Dateisystem-spezifisch festgelegt (siehe Abschnitt „Dateisysteme").


Beispiel

Name

Ergebnis

:catid:$userid.

true

:catid:$.

true

$userid.

false

$.

false

:catid:

true

$.HALLO

false

$USER.HALLO

false

:JAVA:$.HALLO.JAVA

true

Die Methode getAbsolutePath() gibt die absolute Form des Pfadnamens dieses RecordFile-Objektes als String zurück. Wurde das RecordFile-Objekt mit Hilfe eines absoluten Pfadnamens konstruiert, so wird einfach dieser Name geliefert. Wenn das nicht der Fall ist, wird Dateisystem-spezifisch der Name ergänzt (siehe Abschnitt „Dateisysteme").


Besonderheiten des DMS-Dateisystems

Es ist im DMS unter Umständen nicht möglich, zu einem syntaktisch korrekten Pfadnamen den absoluten Pfadnamen zu bilden. So ist z.B. ein aus 42 Zeichen bestehender Dateiname mit einer 5-stelligen Benutzerkennung syntaktisch korrekt. Wird er aber mit einer aus 4 Zeichen bestehenden Katalogkennung ergänzt, entsteht ein syntaktisch falscher (zu langer) Pfadname.

Die Methode getAbsoluteFile() liefert die absolute Form des Pfadnamens dieses RecordFile-Objektes als RecordFile-Objekt.

Die Methode getCanonicalPath() gibt die kanonische Form des Pfadnamens dieses RecordFile-Objektes als String zurück. Ein kanonischer Pfadname ist so-wohl absolut als auch eindeutig. Die genaue Definition der kanonischen Form ist abhängig vom Dateisystem (siehe Abschnitt „Dateisysteme").


Besonderheiten des DMS-Dateisystems

Es ist im DMS unter Umständen nicht möglich, zu einem syntaktisch korrekten Pfadnamen den kanonischen Pfadnamen zu bilden. So ist z.B. ein aus 42 Zeichen bestehender Dateiname mit einer 4-stelligen Katalogkennung syntaktisch korrekt. Wird er aber mit einer aus 5 oder mehr Zeichen bestehenden Benutzerkennung ergänzt, entsteht ein syntaktisch falscher (zu langer) Pfadname.

Die Methode getCanonicalFile() liefert die kanonische Form des Pfadnamens dieses RecordFile-Objektes als RecordFile-Objekt.

Die Vervollständigung eines Dateinamens durch die o.g. Methoden gibt der Anwendung Einblick in die Struktur des Dateisystems und unterliegt daher der Überwachung durch einen aktiven Security Manager. Unter Umständen wird diese Vervollständigung mit einer entsprechenden Exception abgewiesen (siehe Abschnitt „Sicherheit").

Die Methode compareTo() vergleicht zwei Pfadnamen lexikographisch. Wenn die zwei Pfadnamen unterschiedlichen Dateisystemen angehören, werden zuerst die Dateisystemnamen verglichen.

Die Methode equals() vergleicht zwei Pfadnamen. Sie liefert nur true, wenn es sich bei dem angegebenen Objekt um ein RecordFile-Objekt handelt, das dem gleichen Dateisystem zugeordnet ist, und wenn die Pfadnamen beider Objekte (im Sinne von compareTo()) gleich sind. Die Gleichheit wird auf Basis der Pfadnamen und nicht der Datei oder des Verzeichnisses im zugrunde liegenden Dateisystem geprüft, d.h. wenn verschiedene Namen die gleiche existierende Datei bezeichnen, wird trotzdem false geliefert.

Die Methode hashcode() berechnet einen Hashcode aus den Zeichen des Pfad-namens und des Dateisystemnamens. Zwei RecordFile-Objekte mit den gleichen Pfadnamen und dem gleichen Dateisystem haben auch den gleichen Hashcode. Jedoch zwei RecordFile-Objekte mit den gleichen Hashcodes müssen nicht notwendigerweise den gleichen Pfadnamen haben.