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 Positionierung und Größenänderung

&pagelevel(5)&pagelevel

Die Methode getCurrentRecordNumber() liefert die aktuelle Dateiposition als Satznummer.

Die Methode setCurrentRecordNumber() setzt die aktuelle Position der Datei auf den Satz mit der angegebenen Nummer. Die speziellen Konstanten POS_FIRST und POS_LAST können benutzt werden, um auf den Dateianfang bzw. das Dateiende zu positionieren.

Die Methode getRecordCount() liefert die Anzahl der Sätze dieser Datei. Das ist gleichzeitig die Position des Dateiendes.

Die Methode setRecordCount() verändert die Größe der Datei auf die Anzahl der angegebenen Sätze. Wenn die angegebene Anzahl der Sätze kleiner ist, als die aktuelle Anzahl der Sätze dieser Datei, so wird die Datei gekürzt, so dass sie nur noch so viele Sätze enthält, wie angegeben. Wenn dabei die aktuelle Dateiposition größer war, als die neue Dateigröße, so wird die aktuelle Dateiposition auf das neue Ende der Datei gesetzt. Wenn die angegebene Anzahl der Sätze größer ist als die aktuelle Anzahl von Sätzen dieser Datei, so kann die Datei vergrößert werden. Eine Zugriffsmethode kann solch eine Vergrößerung der Datei, z.B. für Dateien mit variablem Satzformat, verweigern. Wird die Operation durchgeführt, so ist der Inhalt der neu eingefügten Sätze undefiniert.

Besonderheiten des DMS-Dateisystems

Bei der Shared-Update-Verarbeitung im DMS-Dateisystem ist ein Verkürzen der Datei nicht möglich. Dies führt zu einer IOException.

Bei der Shared-Update-Verarbeitung im DMS-Dateisystem kann die Information über das jeweils aktuelle Dateiende nicht zwischen den beteiligten Anwendungen synchronisiert werden. Ein gleichzeitiges Erweitern von RandomAccessRecordFiles durch mehrere Anwendungen ist daher nicht zu empfehlen. Unabhängig davon werden die Sperren so gesetzt, als ob die Datei sukzessive durch Schreiben einzelner Sätze erweitert würde.