next up previous contents index
suivant: Tableaux d'octets monter: Fichiers précédent: Chemins d'accès   Table des matières   Index


Modes d'accès à un fichier

Si un accès direct à une position quelconque du fichier est nécessaire, on devra utiliser la classe RandomAccessFile, qui fonctionne à la fois en écriture et en lecture, permettant de sauvegarder, puis de restituer, la position d'une opération dans le fichier. Le second d'argument du constructeur est une chaîne qui spécifie le mode d'accès :

Par exemple,

   RandomAccessFile 
     inout = new RandomAccessFile("index.html", "rw");

On obtient la position courante à l'aide de la méthode getFilePointer, qui retourne un long. On peut se positionner à l'aide de la méthode seek, qui a un paramètre entier de type long indiquant un déplacement, compté en octets, à partir du début du fichier.

  RandomAccessFile inOut = 
      new RandomAccessFile("out.txt", "rw"); 
  inOut.seek(inOut.length());       // positionnement à la fin
  inOut.writeBytes("etc., ...");    // ajout de caractères
  inOut.seek(0);                    // positionnement au début
  inOut.writeBytes("Au début");     // écrase le début !
  inOut.seek(0);                    // positionnement au début
  String s = inOut.readLine();      // lecture d'une ligne

Comme Java ne permet pas d'hériter de plusieurs classes, RandomAccessFile n'est une extension ni de InputStream ni de OutputStream. Par contre, elle réalise à la fois les interfaces DataInput et DataOutput.


next up previous contents index
suivant: Tableaux d'octets monter: Fichiers précédent: Chemins d'accès   Table des matières   Index
Rene' LALEMENT 2002-11-07