Accueil > > > [.NET2] COMPRESSION/DÉCOMPRESSION GZIP DE FICHIER GRÂCE À IO.COMPRESSION
[.NET2] COMPRESSION/DÉCOMPRESSION GZIP DE FICHIER GRÂCE À IO.COMPRESSION
Information sur la source
Description
Un tout petit sample de la classe incroyablement pratique Io.Compression, permettant de compresser et de décompresser des fichiers à l'aide d'un algo puissant, et ce très rapidement. (aussi bien coté code que coté éxecution). Merci le framework 2 !
Source
- Imports System.IO
- Imports System.IO.Compression
-
- Public Class HbGzip
-
- Public Shared Function Compress(ByVal cheminSource As String, ByVal cheminCible As String) As String
- Try
- Dim hbread As New BinaryReader(File.OpenRead(cheminSource))
- Dim F_array(hbread.BaseStream.Length) As Byte
- hbread.BaseStream.Seek(0, SeekOrigin.Begin)
- hbread.BaseStream.Read(F_array, 0, F_array.Length)
- hbread.BaseStream.Flush()
- hbread.Close()
- Dim tmpstream As FileStream = New FileStream(cheminCible, FileMode.OpenOrCreate)
- Dim gzipper As GZipStream = New GZipStream(tmpstream, CompressionMode.Compress)
- gzipper.Write(F_array, 0, F_array.Length)
- gzipper.Flush()
- gzipper.Close()
- Return "compression effectuée avec succés"
- Catch ex As Exception
- Return ex.ToString
- End Try
- End Function
-
- Public Shared Function Decompress(ByVal cheminSource As String, ByVal cheminCible As String) As String
- Try
- Dim bufferLen As Integer = 1024
- Dim hbread As New BinaryReader(File.OpenRead(cheminSource))
- Dim gzipper As GZipStream = New GZipStream(hbread.BaseStream, CompressionMode.Decompress)
- Dim hbwrite As New BinaryWriter(File.OpenWrite(cheminCible))
- Dim F_array(bufferLen) As Byte
- Dim readlen As Integer
- Dim flag As Boolean = True
- Do
- readlen = gzipper.Read(F_array, 0, F_array.Length)
- If readlen > 0 Then
- flag = True
- If readlen = (bufferLen + 1) Then hbwrite.Write(F_array, 0, readlen) Else hbwrite.Write(F_array, 0, readlen - 1)
- Else
- flag = False
- End If
- Loop While (flag)
- hbwrite.Close()
- gzipper.Close()
- Return "decompression effectuée avec succés"
- Catch ex As Exception
- Return ex.ToString
- End Try
- End Function
- End Class
Imports System.IO
Imports System.IO.Compression
Public Class HbGzip
Public Shared Function Compress(ByVal cheminSource As String, ByVal cheminCible As String) As String
Try
Dim hbread As New BinaryReader(File.OpenRead(cheminSource))
Dim F_array(hbread.BaseStream.Length) As Byte
hbread.BaseStream.Seek(0, SeekOrigin.Begin)
hbread.BaseStream.Read(F_array, 0, F_array.Length)
hbread.BaseStream.Flush()
hbread.Close()
Dim tmpstream As FileStream = New FileStream(cheminCible, FileMode.OpenOrCreate)
Dim gzipper As GZipStream = New GZipStream(tmpstream, CompressionMode.Compress)
gzipper.Write(F_array, 0, F_array.Length)
gzipper.Flush()
gzipper.Close()
Return "compression effectuée avec succés"
Catch ex As Exception
Return ex.ToString
End Try
End Function
Public Shared Function Decompress(ByVal cheminSource As String, ByVal cheminCible As String) As String
Try
Dim bufferLen As Integer = 1024
Dim hbread As New BinaryReader(File.OpenRead(cheminSource))
Dim gzipper As GZipStream = New GZipStream(hbread.BaseStream, CompressionMode.Decompress)
Dim hbwrite As New BinaryWriter(File.OpenWrite(cheminCible))
Dim F_array(bufferLen) As Byte
Dim readlen As Integer
Dim flag As Boolean = True
Do
readlen = gzipper.Read(F_array, 0, F_array.Length)
If readlen > 0 Then
flag = True
If readlen = (bufferLen + 1) Then hbwrite.Write(F_array, 0, readlen) Else hbwrite.Write(F_array, 0, readlen - 1)
Else
flag = False
End If
Loop While (flag)
hbwrite.Close()
gzipper.Close()
Return "decompression effectuée avec succés"
Catch ex As Exception
Return ex.ToString
End Try
End Function
End Class
Historique
- 16 mars 2007 20:17:00 :
- .
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Installation, compression, decompression [ par verbateam2002 ]
Bonjour,Je cherche à faire un programme qui va decompresser automatiquement des fichiers (avec une architecture définie) vers un disque que l'on aura
Algorithme de compression (ZIP RAR ACE....) [ par Fildomen ]
Salutje veux me lancer dans un prog de compression, masi je ne trouve pas de doc, s'il vous plait passez moi un lien sur les algorihmes de n'importe e
Compression / décompression [ par nicolasheurtevin ]
Bonjour, J'ai quelques petits soucis après avoir essayé différents bouts de code permettant la compression zip et la décompressi
Compression [ par eldim ]
Bonjour,Est-ce quelqu'un connait un programme zip qui vérifie si un fichier existe déja dans un zip et compare les versions avant d'ajouter
Recherche ZIp + decompression + execution [ par Acry ]
Bonjour, je cherche un debut de code pour me lancer... je doit en faite lancer un .vbs qui se situera tjr dans le même dossier qu'un fichier zip. C
decompression des sources zip [ par vieuxjo ]
j'ai chargé plusieurs sources compressés en zip que je n'arrive pas à décompresser.(sources 7,85,266...)stuffit Expander ne comprend pas le format et
Compression GZIP [ par vlad2i ]
Pour faire court : je cherche un moyen de compresser des données (si possible en mémoire) en utilisant la compression gzip.Mes essais avec zlib n'ont
Problème Compression zip [ par Taurus67 ]
Bonjour, je fait un petit logiciel qui doit compresser en zip des demos (.dem) ( counter strike ) une fois que celle ci ont fini d'être enregistr
Compression/Decompression avec crc en VB.net [ par serey ]
Bonjour,je souhaiterai compresser et decompresser des fichiers en vb et cela avec un crc pour vérifier l'integrité de mes fichiers. Comment
sevenzipsharp.dll et decompression .zip par exemple [ par bidouille007 ]
BOnjour je développe un petit programme sous vb 2008 dans lequel je souhaite dézipper des fichiers contenu dans un fichier zip Or je pensais que sev
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|