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