Médiaforma

Java – Les fichiers à accès aléatoire

Print Friendly

Les fichiers à accès aléatoire peuvent être accédés en lecture seule (r) ou en lecture et écriture (rw).

import java.io.*;

 

public class randomAccessFile{

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

File = new File(« fichier.txt »);

if(!file.exists()) {

System.out.println(« fichier.txt n’a pas été trouvé dans le dossier courant »);

System.exit(0);

}

try {

// Ouverture du fichier en lecture seule

RandomAccessFile rand = new RandomAccessFile(file, »r »);

int i=(int)rand.length();

System.out.println(« Ce fichier pèse  » + i +  » octets »);

System.out.println(« Voici son contenu : »);

rand.seek(0);  // Déplacement au début du fichier

for (int ct = 0; ct < i; ct++) {

byte b = rand.readByte(); // Lecture d’un octet dans le fichier

System.out.print((char)b); // Conversion de l’octet en un char et affichage

}

rand.close();

}

catch(IOException e) {

System.out.println(e.getMessage());

}

}

}

Après avoir ouvert le fichier en lecture seule :

RandomAccessFile rand = new RandomAccessFile(file,"r");

On affiche sa taille en octets :

int i=(int)rand.length();
System.out.println("Ce fichier pèse " + i + " octets");

Pour afficher son contenu, on commence par positionner le pointeur de lecture avec la méthode seek() :

rand.seek(0);  // Déplacement au début du fichier

Une boucle for lit alors le fichier octet par octet. Les octets lus sont convertis en des char et affichés dans la console :

for (int ct = 0; ct < i; ct++) {
  byte b = rand.readByte(); // Lecture d'un octet dans le fichier
  System.out.print((char)b); // Conversion de l'octet en un char et affichage
}

En fin de lecture, le fichier est fermé avec la méthode close() :

rand.close();

Pour aller plus loin sur la gestion de fichiers et de dossiers, consultez cette page : http://java.developpez.com/faq/java/?page=langage_fichiers#LANGAGE_FICHIER_delete

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply