Meilleur auteur de réponses
créer un fichier Zip sous VB 2008 Express

Question
-
bonjour,etant a la recherche d4un code pour zipper des fichier texte je suis tomber sur ce codeil fonctionne très bien sous VB express par contre il ne fonctionne pas sous VB expressOr il me faut faire mon develloppement sous VB2008En fait tout se deroule bien jusqu'au moment ou j'arrive a la ligne Infile.CopyTo(Compress)Et la CopyTo n'appartient pas a Infile
Ma question est donc (Je viens de me mettre a VB2008 et donc je suis loin de maitrise) Comment faire pour pouvoir ecrire le zipstream dnas le fichier.dans l'exemple fournit par Microsoft tout est effectuer en mémoire et pas de création de fichierSi quelqu'un pouvait eclairer ma lanterne et m'expliquer comment marche la creation de fichier zip sous vb2008 Express ca serait super sympa.
Merci par avance
Fanchy
PS Voici le bout de code que j'ai recupéré
Using Infile As FileStream = Fi.OpenRead()If (File.GetAttributes(Fi.FullName) And FileAttributes.Hidden) _<> FileAttributes.Hidden And Fi.Extension <> "*.Zip" ThenUsing Outfile As FileStream = File.Create(Fi.FullName + ".zip")Using Compress As GZipStream = New GZipStream(Outfile, CompressionMode.Compress)Infile.CopyTo(Compress)End UsingEnd UsingEnd IfEnd Using
Réponses
-
Bonjour,
Voir "Informations de version" dans la documentation (http://msdn.microsoft.com/fr-fr/library/dd782932.aspx) qui indique que CopyTo n'a été ajouté que dans la version 4 du .NET Framework.
Donc en 2.0, il faudra l'implémenter soi même. Pour info l'implémentation en 4.0 est grossièrement :
Private Sub InternalCopyTo(ByVal destination As Stream, ByVal bufferSize As Integer) Dim num As Integer Dim buffer As Byte() = New Byte(bufferSize - 1) {} Do While (num = Me.Read(buffer, 0, buffer.Length) <> 0) destination.Write(buffer, 0, num) Loop End Sub
Le terme "fichier zip" a attiré mon attention quand je validais. Attention, à ma connaissance les "vrais" fichiers ZIP se basent je crois sur cette compression mais contiennent des infos supplémentaires notamment pour pouvoir gérer plusieurs fichiers dans une même archive.
A ma connaissance cette méthode permettent de créer donc des fichiers "gzip" mais qui ne sont probablement pas reconnaissable par le format "zip" (donc généralement c'est plutôt ce que l'on choisit si le fichier sera également décompressé par une autre appli, si le but est par contre de fournir un fichier décomprimable par un utilisateur on utilisera généralement une des bibliothèques disponibles comme http://dotnetzip.codeplex.com/ pour revenir sur le format "ZIP" habituel).
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".- Modifié Patrice ScribeMVP, Moderator dimanche 13 février 2011 10:52 Fichier zip
- Proposé comme réponse TroxsaEditor lundi 14 février 2011 13:27
- Marqué comme réponse Alex Petrescu jeudi 17 février 2011 11:02
Toutes les réponses
-
Bonjour,
Voir "Informations de version" dans la documentation (http://msdn.microsoft.com/fr-fr/library/dd782932.aspx) qui indique que CopyTo n'a été ajouté que dans la version 4 du .NET Framework.
Donc en 2.0, il faudra l'implémenter soi même. Pour info l'implémentation en 4.0 est grossièrement :
Private Sub InternalCopyTo(ByVal destination As Stream, ByVal bufferSize As Integer) Dim num As Integer Dim buffer As Byte() = New Byte(bufferSize - 1) {} Do While (num = Me.Read(buffer, 0, buffer.Length) <> 0) destination.Write(buffer, 0, num) Loop End Sub
Le terme "fichier zip" a attiré mon attention quand je validais. Attention, à ma connaissance les "vrais" fichiers ZIP se basent je crois sur cette compression mais contiennent des infos supplémentaires notamment pour pouvoir gérer plusieurs fichiers dans une même archive.
A ma connaissance cette méthode permettent de créer donc des fichiers "gzip" mais qui ne sont probablement pas reconnaissable par le format "zip" (donc généralement c'est plutôt ce que l'on choisit si le fichier sera également décompressé par une autre appli, si le but est par contre de fournir un fichier décomprimable par un utilisateur on utilisera généralement une des bibliothèques disponibles comme http://dotnetzip.codeplex.com/ pour revenir sur le format "ZIP" habituel).
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".- Modifié Patrice ScribeMVP, Moderator dimanche 13 février 2011 10:52 Fichier zip
- Proposé comme réponse TroxsaEditor lundi 14 février 2011 13:27
- Marqué comme réponse Alex Petrescu jeudi 17 février 2011 11:02
-
> Le terme "fichier zip" a attiré mon attention quand je validais.> Attention, à ma connaissance les "vrais" fichiers ZIP se basent je crois> sur cette compression mais contiennent des infos supplémentaires notamment> pour pouvoir gérer plusieurs fichiers dans une même archive.>> A ma connaissance cette méthode permettent de créer donc des fichiers> "gzip" mais qui ne sont probablement pas reconnaissable par le format "zip"> (donc généralement c'est plutôt ce que l'on choisit si le fichier sera> également décompressé par une autre appli, si le but est par contre de> fournir un fichier décomprimable par un utilisateur on utilisera> généralement une des bibliothèques disponibles> commehttp://dotnetzip.codeplex.com/ pour revenir sur le format "ZIP"> habituel).Bonjour Patrice,Je crois que System.IO.Packaging peut aussi servir pour faire desarchives zip complètes.Je ne l'ai pas utilisée dans ce contexte précis mais pour modifier desfichiers Word docx et Excel xlsx (qui sont des archives zip)--Fredfoleide@free.fr
-
-
Bonjour,
desole de ne pas avoir repondu plus tot,
je vous remercie pour les informations concernant les fichiers ZIP, je comprend que les fichiers ZIP creer a partir du framework ne correpondent pas exactement au format des fichiers zip utiliser par winrar par exemple ?
cordialement