q Un fichier binaire peut stocker n’importe quoi, que ce soit structuré ou non. 
q Les fichiers binaires n’ont pas de structure apparente, ils représentent une suite de données (octets) écrites 
les unes après les autres. 
q Toutes les données sont représentées sous forme binaire. Les nombres sont convertis, et s’il y a du texte, il 
apparaît comme tel mais non structuré. De même si on y voit un caractère, il se peut que ce soit un effet de 
bord :  la  conversion  d’un  nombre  donnant  « par hasard »  quelque  chose  de  lisible  via  les  codes  ASCII  ou 
Unicode  mais  n’ayant  aucun  rapport.  Pour  résumer :  les  données  d’un  fichier  binaire  y  sont  écrites 
exactement comme si elles sortaient de la mémoire : c’est la même représentation. 
q La  structure  des  enregistrements  est  dépendante  de  l’interprétation  du  programme.  Les  enregistrements 
peuvent être de longueur fixe, mais collés les uns après les autres sans retour à la ligne. 
q De ce fait, un fichier binaire ne doit pas être ouvert ou enregistré depuis un éditeur de texte : il est souvent 
illisible.  Seul  le  programme  sachant  le  manipuler  est  apte  à  l’utiliser.  Vous  pouvez  cependant  utiliser  un 
éditeur héxadécimal. 
q Le fichier peut être lu octet par octet, ou par bloc, ou entièrement, depuis n’importe quelle position, puisque 
c’est vous qui définissez sa structure. Idem pour les enregistrements. 
5. Les accès aux fichiers 
a. Séquentiel 
Le fichier séquentiel permet d’accéder aux données dans leur ordre d’écriture. Vous accédez aux données les unes 
après les autres. Pour pouvoir accéder au millième enregistrement vous devez d’abord lire les 999 premiers (ce qui ne 
veut pas dire que vous devez les interpréter). Les fichiers texte sont généralement des fichiers séquentiels, chaque 
enregistrement étant représenté par une ligne. 
Un fichier binaire peut très bien être séquentiel, puisque encore une fois c’est vous qui déterminez sa structure. Vous 
pouvez décréter que les n premiers octets sont la description d’une figure géométrique de n faces, puis que les n 
autres enregistrements représentent la longueur des faces, les angles, etc. 
Il  n’est  pas  possible  de  modifier  directement  l’enregistrement  d’un  fichier  séquentiel.  Vous  pouvez  rajouter  un 
enregistrement à la fin. Pour supprimer, vous pourrez utiliser un éditeur. 
b. Accès direct 
L’accès direct est aussi appelé aléatoire. Il n’y a rien de spécialement aléatoire de votre côté, mais contrairement à 
l’accès séquentiel, vous pouvez sauter directement à l’endroit que vous désirez. Pour un fichier texte, ça pourrait être 
le numéro d’enregistrement (de ligne). Pour un fichier binaire, c’est la position de l’octet souhaité. 
c. Indexé 
Dans  un  fichier  indexé,  les  enregistrements  sont  identifiés  par  un  index  qui  peut  être  un  numéro  ou  une  valeur 
quelconque, un identifiant. La connaissance de cet identifiant permet d’accéder directement à l’enregistrement qu’il 
référence.  Les  enregistrements  sont  souvent  placés  les  uns  à  la  suite  des  autres  dans  le  fichier,  comme  en 
séquentiel.  Les  index  sont  eux  placés  dans  un  tableau  d’index,  avec  pour  chaque  index  la  position  de 
l’enregistrement correspondant dans le fichier. Un fichier indexé est donc un super mélange des deux précédents. 
Les  index  peuvent  être  totalement  indépendants,  auquel  cas  il  n’y  a  pas  forcément  de  moyen  de  lire  les 
enregistrements sans connaître son index. Mais bien souvent, vous entendrez parler de séquentiel indexé : le fichier 
est  indexé,  mais  depuis  un  index,  vous  pouvez  lire  successivement  tous  les  enregistrements  suivants.  Les  index 
peuvent  être  chaînés  dans  un  sens,  dans  les  deux,  voire  triés,  etc.  La  notion  de  chaînage  est  l’un des sujets du 
prochain chapitre. 
d. Autre ? 
Un langage comme le COBOL est le roi de la manipulation des fichiers, notamment en séquentiel indexé. Il serait plus 
complexe,  mais  pas  infaisable  (pour  les  professeurs  sadiques  ou  les  étudiants  masochistes)  de  décoder  un  fichier 
MP3 dans ce langage. 
- 5 -
© ENI Editions - All rigths reserved - Jonifar lina
149
Précédent

- 149/220

Suivant