-
Tronquer un fichier
Bonjour,
Je voudrai savoir s'il existe une méthode permettant du supprimer un certains nombres de bytes d'un fichier.
Je m'explique j'ai un fichier plat que je parcours à la recherche d'enregistrements, je voudrais pouvoir y effectuer des suppressions. Mais pour cela je dois pouvoir faire un Truncate(long beginPos, long EndPos). Donc supprimer un nombre précis d'octet.
J'ai testé la méthode SetLength(0) mais elle supprime l'ensemble du contenu du fichier après la position actuelle du pointeur. Alors que je voudrais pouvoir faire un truncate en plein milieu de mon fichier par exemple.
J'espère avoir été clair.
Merci d'avance.
-
Si j'ai bien compris, tu veux enlever un morceau "au milieu" du fichier ?
Il n'existe rien de tel, mais c'est facile à faire :
- lire le bloc "de début"
- l'écrire dans un fichier temporaire (utiliser, par exemple, Path.GetTempFileName pour obtenir un fichier temporaire)
- lire le bloc "de fin"
- l'ajouter au fichier temporaire
- fermer le fichier initial
- fermer le temporaire
- renommer le temporaire avec le nom du fichier initial.