Ajout de texte dans un fichier
Bonjour,
J'ai un fichier contenant des lignes (non, ce n'est pas une blague :lol: ). Chaque ligne commence par une date et les lignes doivent etre organisées chronologiquement.
Les lignes sont insérées sans ordre chronologique c'est à dire que je peux déjà avoir dans mon fichier les dates 20041212 et 20041214.
Lorsque j'ajoute une ligne, je veux qu'elle vienne s'insérer là où il faut.
En utilisant la classe RandomAccessFile, je peux me positionner au bon endroit avec seek mais en utilisant writeBytes(ma ligne à insérer), les données contenues sur le fichier sont ecrasées par celle que je veux insérer. :cry:
Code:
1 2 3 4 5
|
donnee.writeBytes("toto");
donnee.seek(0);
donnee.writeBytes("a");
j'obtiens dans le fichier "aoto" aloes que je voudrais "atoto" |
J'envisage la solution suivante :
1 - stocker dans une variable (disons toto) tout le contenu du fichier entre le point d'insertion et la fin du fichier
2 - insérer au début de cette variable les données à insérer
3 - utiliser witeBytes(toto)
Il n'y a pas de raison que cela ne marche pas mais cela va me faire réécrire une bonne partie de mon fichier à chaque ajout de ligne (surtout si je dois insérer au début du fichier).:?
Quelles sont les autres solutions ?
Merci pour votre aide
Re: [Appli][io]Ajout de texte dans un fichier
Citation:
Envoyé par willowII
Quelles sont les autres solutions ?
Il faut procéder en deux étapes :
1) tu enregistres tes dates à la queue leu leu à la fin de ton fichier
2) lorsque tu as fini, ou lorsque c'est opportun, tu ranges ton fichier.
... et pour ce genre de trucs, c'est tout de même plus facile avec une petite base de données.