Découper et fusionner des fichiers en C#
Suite à la discussion sur
http://www.vbfrance.com/code.aspx?ID=41472 j'ai décidé de reprendre la source présente sur
http://www.csharpfr.com/code.aspx?ID=28107 afin de l'optimiser quelque peu.
L'idée du programme est simple: passer un fichier en paramètre et le découper en plusieurs morceaux d'une certaine taille. La fonction inverse, c'est à dire fusionner les morceaux de fichiers précédemment découpés est aussi disponible.
Dans le meilleur des cas, j'arrive à des vitesses d'environ 20Mo/sec ce qui représente donc un peu plus d'une 30aine de secondes pour 700Mo soit une amélioration de 15-20% par rapport à la source C# citée plus haut. J'imagine qu'on peut encore faire mieux (buffer dynamique en fonction de la taille du fichier ?) et j'attends donc vos éventuelles idées pour améliorer encore les performances de ce programme!
Conclusion :
N'hésitez pas à soumettre vos améliorations/commentaires...
15 nov. 2007 à 01:35
Code tres bien ecrit et aussi bien commenté!
je te donne un 10.
juste un truc, parce qu'il le faut bien :) avec un buffer de 8 Mo c mieux ( windows utilise un read buffer de cette taille)
15 nov. 2007 à 08:56
Pour le buffer, il faudrait lui donner une taille variable en fonction de la taille du fichier à traiter; je pense que c'est comme ça que ça serait le plus efficace (un cache de 8Mo sur un fichier de 8Mo n'est certainement pas la meilleure solution!).
5 avril 2008 à 16:38
22 janv. 2009 à 17:09
Je suis débutant. j'ai téléchargé le zip, je ne vois pas l'exe ni comment obtenir l'exe, car je n'ai pas d'environnement de dév. Merci par avance pour votre aide pour l'exe ou comment le mettre en place.
Cordialement,
10 nov. 2011 à 15:59
C'est un chouette code par contre peux tu m'expliquer pourquoi mon fichier recollé ne fait pas la même taille que l'orignal ????
J'ai testé avec une iso de 3,7 Go que j'ai coupé en 4 partie de 1 Go j'ai préalablement fais un checksum md5 de l'iso original puis de la version recollée, ils ne correspondent pas. Il y a peut prêt 10 Mo d'écart entre les 2 iso. A quoi cela est-il du ?
Merci d'avance.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.