Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DECOUPER/FUSIONNER DES FICHIERS


Information sur la source

Catégorie :Fichiers / Disque Source .NET ( DotNet ) Classé sous : fichier, split, merge, fusionner, partitionner Niveau : Débutant Date de création : 17/02/2007 Date de mise à jour : 20/11/2008 20:28:16 Vu / téléchargé: 9 297 / 447

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
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...
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

17 février 2007 12:55:58 :
utilisation d'un Path.Combine (merci coq).
17 février 2007 13:13:25 :
Corrections dans la description
17 février 2007 17:52:41 :
Rien ^^
17 février 2007 18:15:40 :
J'espère que c'est la dernière mise à jour ^^
20 novembre 2008 20:28:17 :
MAJ

Commentaires et avis

signaler à un administrateur
Commentaire de eRRaTuM le 15/11/2007 01:35:44 10/10

Chapeau!
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)

signaler à un administrateur
Commentaire de Bidou le 15/11/2007 08:56:01 administrateur CS

Salut et merci du commentaire...

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!).

signaler à un administrateur
Commentaire de VestaX le 05/04/2008 16:38:09

terrible!!!! ya possibilité d'avoir la version en .exe stp???? c'est exactement ce que je cherchais.

signaler à un administrateur
Commentaire de angby le 22/01/2009 17:09:02

Bonjour,

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,

signaler à un administrateur
Commentaire de Bidou le 22/01/2009 20:15:32 administrateur CS

On ne passe que d'une seule façon à du code en executable, c'est en compilant.
Donc: en téléchargeant un compilateur C#

signaler à un administrateur
Commentaire de NetWedge le 28/05/2009 10:33:11

Bonjour, tu nous présente un programme interressant et bien utile! Je te soumet une autre amélioration possible qui engendrerai pas mal de code supplémentaire : un thread pour lire le(s) fichier(s) en correspondance avec un thread pour ecrire le(s) fichier(s), que ce soit pour decouper ou rassembler.
Ainsi lors du découpage si tu place les morceaux sur un autre disque que celui sur lequel se trouve le fichier complet, tu bénéficiera pleinement des vitesses de lecture et ecriture de chacun des disques soit à peu pres 30 Mo/s pour de l'IDE et + encore pour le SATA. L'usage d'un thread pour la lecture et d'un pour l'ecriture évite "l'attente" de la fin d'ecriture pour reprendre la lecture sur deux disques. Et meme si un seul disque est disponible, la vitesse sera la même que ton programme actuellement.

Voila, j'espere que je suis compréhensible.

Cordialement.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

segmentatio des images "methode split & merge" [ par rhimi12 ] salut chers &nbsp;monsieurs&nbsp;.j'ai un tr&#233;s&nbsp;grand probl&#233;m pour l'implementation de program de partition avec l'arbre quaternaire"qua copie de balises xml [ par toto68fr ] Je cherche a copi&#233; simplement&nbsp;le contenu de la balise&nbsp;"Device" dans un autre fichier.Le fichier 1 contient : &lt;?xml <FONT color= Ecraser un fichier en copiant [ par amirirn1 ] Bonjour,J aimerai bien savoir comment ecraser un fichier qui existe dans un repertoirepour &#231;a je fais new System.IO.FileInfo(fileName).CopyTo("C Ouvrir un fichier .chm [ par audweiller ] Bonjour, J'aimerais ouvrir un fichier d'aide .chm depuis diverses fen&#234;tres. L'id&#233;al serait qu'il puisse s'ouvrir &#224; des endroits diff&#2 Importer des données d'un fichier xls vers une base Oracle en C# [ par racecoco ] Bonjour,Dans une application Web, je dois r&#233;cup&#233;rer des donn&#233;es provenant d'un fichier xls et les ins&#233;rer dans une base de donn&#2 Modification à distance d'un fichier XML [ par zigxag ] Bonjour,Depuis mon Smartphone, je voudrais &#233;crire dans un fichier XML qui se trouve sur le serveur distant, via des Web Methods. Or, le systeme m Compter le nombre de lignes excel [ par oxboz ] Salut, Voila je pose ma question parce que sinon j'y suis encore demain ... Comment puis compter le nombre d'un fichier excel.. Par que en gros je r XML [ par dibouched ] Bonjour , je viens de commencer&nbsp; &#224; utiliser les document XML avec c#pour lire le continu d'un document XML j'ai utlise XmlDoc =new XmlDocume Lancer un fichier .bat pendant l'exécution [ par lagoelle ] Bonjour, Apr&#232;s recherche, dans le forum, je me tourne vers vous. Voici la question: < Comment creer un bookmark dans un fichier pdf existant [ par zaco ] salut cela fait pas mal de temp que je buche la dessu si quelqu'1 a une sol free je le fait "General du bataillon pdf &amp; co"MerciZac


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,515 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.