Compression/Décompression de gros fichiers

Compression/Décompression de gros fichiers - C#/.NET managed - Programmation

Marsh Posté le 05-04-2012 à 10:30:48    

Bonjour,
 
j'aurais besoin d'une solution opensource me permettant de créer une archive en compressant des fichiers pouvant faire plus de 2^32 octets (donc bye bye .zip et .rar) et de décompresser celle-ci. Le tout en c#, environnement dotnet si possible. Mes archives pourront faire plus de 20 Go que je devrais envoyer dans une application Client/Serveur par la suite.
 
Pouvez-vous me conseiller des solutions ? Je suis à 100% sur environnement Windows.
 
Merci,
Guest007

Reply

Marsh Posté le 05-04-2012 à 10:30:48   

Reply

Marsh Posté le 05-04-2012 à 11:05:34    

:hello:  
 
7zip
Il me semble que la taille du fichier à compresser est limitée par le système de fichier si tu es dans leur format natif .7z
Tu as le source du code, tu peux l'intégrer dans le tien à condition de le mentionner dans la doc accompagnant ton code.
 
A+,


Message édité par gilou le 05-04-2012 à 11:06:04

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 06-04-2012 à 08:40:39    

Je ne peux que recommander de découper le fichier en tronçons numérotés de 128 Mo, dans la mesure où le transfert pourra avoir des ratés pour raisons quelconques (souvent des problèmes réseau, timeout, etc). Dans ce cas, plutôt que de renvoyer tout le fichier (ce qui pourra prendre des heures), tu ne renvoies que le dernier. Pour ces tailles de fichier, il faut aussi penser à envoyer au client un CRC pour s'assurer que le transfert est impec, je crois que 7z en crée par défaut (à vérifier). Le découpage en tronçons permet aussi d'avoir facilement un avancement du transfert par FTP (et plus généralement, un suivi sur toutes les opérations portant sur ce fichier). Enfin, ça facilite le portage de l'application sur des systèmes de fichier ne supportant pas les fichiers énormes.


Message édité par el muchacho le 06-04-2012 à 08:47:03

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 08-04-2012 à 11:02:10    

Je plussoie les deux remarques précédentes.
 
J'ajoute, que si l'"archive" est aussi grosse, c'est probablement parce qu'elle contient de la vidéo (ou du son, ou des images).
Or, la vidéo (ou le son, ou les images) sont habituellement déjà compressés, et donc, faire une nouvelle passe de compression ne réduira pas leur taille.

Reply

Marsh Posté le 21-04-2012 à 09:34:45    

Pour infos, les formats que tu cites sont parfaitement compatibles de générer des archives de plusieurs dizaines de Go contrairement à ce que tu crois.
 
Pour manipuler de tels volumes, à ta place j'oublierai la solution .Net native : prend un bon archiveur gratuit et performant (7zip !!) et appelle le en ligne de commande via ton applicatif pour lui faire faire ce que tu veux.


---------------
Topic .Net - C# @ Prog
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed