begin process at 2010 02 10 09:07:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Algorithme

 > 

Compression, Split et Cryptage

 > 

Compression de fichiers


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Compression de fichiers

vendredi 24 août 2007 à 19:26:36 | Compression de fichiers

Vince_02

Bonjour a tous ^^

J'ai un petit soucis actuellement, au sujet d'une source que j'ai posté récemment : http://www.csharpfr.com/codes/COMPRESSION-DECOMPRESSION-PARTIR-SDK-LZMA-7ZIP-MULTI-FICHIER_43866.aspx

La compression / décompression de fichiers ou de byte[] se déroule parfaitement bien, même à la volée ( archive en lecture/écriture ), mais le problème est que la taille de l'archive se trouve être assé volumineuse par rapport a ce que peux faire 7Zip, ou LZMA en passant par un TAR.

J'ai bien une idée pour rémédier a celà, mais le truc c'est que je vois pas comment faire ....

Actuellement, le code lis un fichier, et l'ajoute ensuite à la fin de l'archive, s'il y en a plusieurs, la procédure est répété a chaque fois.

L'idée que j'ai serait de charger en mémoire chaque petit fichier ( de 1 à 10 Ko ) j'usquà ce qu'a avoir en mémoire 1024 ko par exemple et de les compresser, ensuite l'autre idée serait de passer par un TAR mais je vois pas comment je pourrais faire pour pouvoir lire/écrire le TAR sans pour autant le décompresser ...

Auriez vous une idée ou un exemple de la marche a suivre pour effectuer cette petite idée, peut être en avez vous une meilleure a me proposer ?
mardi 28 août 2007 à 13:05:13 | Re : Compression de fichiers

rodcobalt22

Juste une petite question. le poid du fichier correspond t-il bien à la réalité ? Parfois, le poid (ou taille) marqué par l'explorateur Windows est plus important. Après, si le poid correspond bien, dans ce cas, je te conseil de vérifier les argument de ta ligne de commande voir s'il n'y a pas quelque chose qui te permet d'optimiser la compression. Petit truc aussi, quand tu ajout dans une archive, il me semble que tu décompresse tout de même dans un fichier Temporaire (A vérifier). Sinon, n'hésite pas à poster ton source (ou la partie intéressante) pour que l'on puisse mieux comprendre et donc t'aider ...
mardi 28 août 2007 à 13:51:12 | Re : Compression de fichiers

Vince_02

Pour répondre a ta question, oui tout correspond, je fais même une vérif. du crc après décompression et c'est ok.

Mais en faite, je pense pas que ce soit due à la compression, mais plus aux informations que je stock dans l'archive afin de pouvoir récupérer le ou les fichiers qui m'intéresse.

Toute la source est postée ici =>
http://www.csharpfr.com/code.aspx?ID=43866

Le code source qui permet la compression / décompression, c'est le fichier :
LibCompress/LibCompress/LzmaTest.cs
  • fonction de compression : AppendFile(String file, String lzDir)
    • file => C'est le fichier a compresser. et c'est a partir de lui que je génère un LzFileInfo.
      Tous que contient le LzFileInfo sera écrit sur l'archive sauf les Offset.
    • lzDir => Un dossier fictif dans l'achive.
  • fonction de décompression : ExtractFile(LzFileInfo lzInfo, String destPath, Boolean PreserveDir)
    • lzInfo => fournit toute les infos pour décompresser le fichier.
    • destPath => Dossier de destination sur le disque dure
    • PreserveDir => Si oui ou non on veut présérver le dossier (lzDir de AppendFile)
J'espère que tu arriveras a me relire ... Sinon au pire, je recommenterais chaque partie du code ;)
mercredi 29 août 2007 à 13:10:02 | Re : Compression de fichiers

rodcobalt22

j'y jette un coup d'oeil, je te dis quoi (Positif ou négatif)
mercredi 29 août 2007 à 14:11:34 | Re : Compression de fichiers

Vince_02

Ok, ça marche, que ce soit positif ou négatif.. ça ne peut que m'aider ^^
vendredi 7 septembre 2007 à 14:01:31 | Re : Compression de fichiers

Vince_02

Mouais ...

Bon, ce n'est pas grave, en attendant, je vais allé mettre a jour les sources, après avoir nettoyé le tout biensur ...
Il y a eu pas mal de changement depuis ( Nettoyage, Suppression de superflue, etc ... ).
mardi 11 septembre 2007 à 12:14:46 | Re : Compression de fichiers

rodcobalt22

Réponse acceptée !
Salut, désolé
je ne vois pas pourquoi il fait ça, je t'avoue que je n'ai que regarder birévement mais je ne vois rien qui me choque.
L'ajout du fichier sur une archive existante ne pourrait elle pas créer des inscriptions supplémentaire aux attribut d'archive ?
C'est le seul truc qui pourrais clocher et encore ça n'est qu'une hypothèse

RodCobalt22, vous salue bien
Pensez au TAG résolu ! Ainsi les réponses seront plus facile à trouver et les serial Helper iront plus vite
samedi 13 octobre 2007 à 18:20:16 | Re : Compression de fichiers

Vince_02

Au niveau des attributs, ça va, c'est correct.

Je vais faire une petite class pour la gestion d'erreur, sur certaine class maitresse je retourne True si elle a été effectué correctement si non False, ça fait un peux bourrin et ça ne me permet pas de savoir ce qui cloche .... ( Permission de lecture/Ecriture refusé, Fichier déjà ouvert, etc ... )

On sait que ça ne marche pas mais on ne sait pas pourquoi lol

PS : Désolé du temps d'absence, j'ai débuté une formation donc pas trop le temps en ce moment, a part le Week-End.


Cette discussion est classée dans : fichier, fichiers, idée, compression, archive


Répondre à ce message

Sujets en rapport avec ce message

HELP ! probleme dans une fct pour compression [ par ryoussef19 ] Bonjour, j'ai un probleme vraiment urgent !voila je cherche une fonction qui me permet de compresser un fichier en un fichier , j'utilise les deux fo Fichier utilsé par d'autre processus [ par matthias26 ] Bonjour à tous,Je suis confronté depuis quelques jours à un problème lors d'opération d'écriture avec des fichiers (sauvegarde après modification ou s pb compression fichier [ par Nicodelphi ] bonjour,voila g'ai fais une petite application pour comprendre la compression et pour cela g mis sur ma form un openfiledialog pour selectionner le fi Ecriture Multi - Fichiers [ par sbouli ] Bonjour,Je suis débutant en C#, je souhaite utiliser ce language pour parser mes fichiers de log, le principe est simple, je lis un gros fichier texte Traitement sur les fichiers (insertion de texte en début et fin de fichier) [ par DJVince91 ] Bonjour à tous. (je ne savai pas où mettre ce post alors je l'ai posté ici.)Alors voilà j'ai un petit problème.J'ai une application, dans celle-ci j'a Compression.IO [ par DLX973 ] Salut  à tous!Voila j'ai developpez une petite application qui permet de compresser et décompreser des fichiers et des repertoire en m'inspirant des d Ouverture multiple fichiers pr 1 seul processus [ par Blacknight91 ] Bl@cknightBonjour,J'ai une application pouvant recevoir en argument un chemin d'un fichier.J'ai fait l'association extension de fichier mon applicati word xml et sql server 2005 [ par sajid_morad ] salut tout le mondebon , mon probleme c est que j ai une application qui consiste à facilité  l édition des rapports en utilisant des modele predifini Association de fichiers [ par holy_artefact ] J'ai besoin de savoir comment on obtient le chemin du fichier qui a été ouvert par l'utilisateur en C#?Exemple:Je suis sur mon bureau et je voit un fi Problème de formats de fichiers xsd [ par vendeeman85 ] Bonjour,J'ai fait recement en c# un programme qui me génére des fichiers xsd. Ces fichiers sont destinés à être importés dans une autre application.Mo


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales