Im folgenden Beispiel werden einzelne Zeilen an das Ende einer Datei mit wahlfreiem Zugriff angehängt und die jeweilige Gesamtgröße ausgegeben.
import java.io.*; public class zugriff { public static void main(String[] args) throws IOException { RandomAccessFile ausgabedatei = null; try { ausgabedatei = new RandomAccessFile(args[0], "rw"); ausgabedatei.seek(ausgabedatei.length()); ausgabedatei.writeChars(args[1] + "\n"); } catch(IOException e) { System.err.println(e); } finally { try { if (ausgabedatei != null) { System.out.println(args[0] + " hat " + ausgabedatei.length() + " Bytes..."); ausgabedatei.close(); } } catch (IOException e) { System.err.println(e); } } } }
Mit der Datei ``test.datei'' erhalten wir beispielsweise folgende Ausgaben:
alfred@duron:~/java/kurs> java zugriff test.datei eine neue Zeile anhängen test.datei hat 10 Bytes... alfred@duron:~/java/kurs> java zugriff test.datei eine neue Zeile und ein paar öörter anhängen test.datei hat 20 Bytes...
Beobachtet man die Zunahme der Dateigröße, so lässt sich sofort vermuten, dass hier keine Textdatei vorliegen kann.