Bonjour,
Je suis en train d'essayer de faire quelque chose qui semble impossible à partir de fonctionnalités de l'API.
Je possède un fichier qui contient un ensemble de bloc. A un moment, je suis amené à supprimer un bloc du fichier, cad que mon fichier à la fin doit avoir ce qu'il y a avant, et ce qu'il y après.
Après avoir parcouru une bonne parti de l'api qui concerne I/O, le seul moyen que j'ai trouvé c'est de tronquer mon fichier au debut du bloc pour ensuite réécriture tout ce qu'il y avait après, ce qui potentiellement représente un gros morceau.
transferTo() et transferFrom() de FileChannel à l'air de dire qu'il optimise un peu en fonction du comportement de l'OS pour que celui ci modifie ses pages d'indexation a la place de copier bit à bit.
Du coup voilà ma question : Y-a-til un moyen simple de virer un bout précis d'un fichier sans devoir avoir un stream ouvert sur la fin et de tout réécrire la fin dans le seul but de concaténer ?
Une fonction qui rajoute un morceau à un autre en discardant tout ce qu'il y a au millieu en somme ?
Merci
Partager