Manipulation des fichiers en Java
TP6 : Pratique
V.Marangozova-Martin, Ludovic Démontes
1 Objectif du TP
Dans ce TP nous allons implémenter un mécanisme de journalisation que
nous allons attacher à l’allocateur mémoire des précédents TP. L’objectif est de
préserver la cohérence de la mémoire en enregistrant sur un support persistant
(les fichiers) les modifications effectuées sur la structure de gestion. Ainsi, à
chaque fois qu’il y a une allocation ou une libération, les informations concernant
l’opération vont être enregistrées dans un fichier. Si le système tombe en panne
(qui peut être simulé par un Ctrl-C...), il sera possible de le relancer et de le
remettre dans un état cohérent en examinant le contenu du fichier journal (log).
2 Manipulation de fichiers en Java
Java fournit de nombreuses classes qui permettent la manipulation de fi-
chiers. Nous n’allons pas toutes les décrire, vous pouvez les consulter dans l’API.
Pour lire un fichier, il est possible de faire ceci :
impo rt jav a . io .*;
class read {
publ ic static void main ( Stri ng args []) throws IOException {
Stri ng thisLi ne ;
Stri ng [] ful lText = new String [10];
int counter = 0;
FileInputStream fis = new FileInputStream ( " filename . extent ion " );
DataInput St ream m yI np ut = new D at aInputStream ( fis );
while (( t hi sL in e = myIn pu t . readLi ne ()) != null ) {
Syst em . out . p rin tl n ( t hi sLi ne );
count er ++;
fullTe xt [ counter ] = thisLi ne ;
}
}
}
Pour écrire dans un fichier, il est possible de faire ceci :
1