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
PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio
Forum
FONCTION EXCEL VBAFONCTION EXCEL VBA par samanta26
Cliquez pour lire la suite par samanta26
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|