Ich bin gerade dabei mir die "Basis"-Klassen von Java anzuschauen und lese deshalb das Buch "Handbuch der Java-Programmierung, 5. Auflage".
Dort wird zu der Klasse RandomAccessFile (Kapitel 20.2) folgendes gesagt:
Dort wird zu der Klasse RandomAccessFile (Kapitel 20.2) folgendes gesagt:
Eine Seite später heißt es dann (Kapitel 20.3):Leider gibt es in der Klasse RandomAccessFile keine explizite Differenzierung zwischen dem Öffnen einer Datei zum Schreiben und dem Neuanlegen. Hier gilt die implizite Regel, dass eine Datei neu angelegt wird, wenn sie beim Öffnen im Modus »w« nicht vorhanden ist.Existiert sie dagegen, wird sie unverändert geöffnet, und es gibt keine Möglichkeit, ihren Inhalt zu löschen oder die Dateilänge auf einen bestimmten Wert zu setzen. Glücklicherweise bietet die Klasse File mit der Methode delete die Möglichkeit, eine Datei zu löschen und so das Neuanlegen über einen kleinen Umweg doch zu erreichen.
Widerspricht sich das nicht? Oder ist es einfach zu spät / früh und ich habe was grundlegendes übersehen?Mit setLength kann die Länge der Datei verändert werden. Ist der als Argument übergebene Wert kleiner als die bisherige Länge, wird die Datei verkürzt.