/***************************************************************/
/* Prof. Dr. Carsten Vogt                                      */
/* FH Koeln, Fak. 07 / Nachrichtentechnik                      */
/* http://www.nt.fh-koeln.de/vogt                              */
/*                                                             */
/* Das Programm zeigt die Benutzung                            */
/* der Klasse RandomAccessFile.                                */
/***************************************************************/

import java.io.*;

public class DateiRandomAccess {

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

  /* Datei 'racf' zum Lesen und Schreiben oeffnen */

  RandomAccessFile racf = new RandomAccessFile("testdatei","rw");

  /* Werte in Datei ausgeben */
  
  for (int i=0;i<10;i++)
   racf.writeInt(2*(i+1));

  /* Positionszeiger auf den Anfang zurücksetzen */
   
  racf.seek(0);
  
  /* Alle Werte wieder einlesen */
  
  for (int i=0;i<10;i++) {
   int ein = racf.readInt();
   System.out.println(ein);
  }
  
  /* Positionszeiger auf das 16. Byte setzen,
     also auf den Anfang des 4. int-Werts (wobei die Zählung bei 0 beginnt) */

  racf.seek(16);

  /* int-Wert an dieser Position einlesen */
  
  int ein = racf.readInt();
  System.out.println("\n4. int-Wert: "+ein);
  
  /* Datei schließen */
  
  racf.close();
  
 }

}

