Hallöschen,
da bin ich auch schon wieder beim nächsten Problem...
Folgenden Code habe ich im Internet gesucht und gefunden, und "durchstudiert"...naja so halbwegs.
Der auskommentierte Code ist der original code und der der jetzt drin steht (Der eig. das selbe machen sollte wie der auskommentierte) ist von mir, er tut nur leider nich dasselbe... Ziel ist es, eine .gz datei zu dekomprimieren... ansich funktioniert es mit dem original code aber dort dauert der vorgang vom dekomprimieren total lange.. selbst wenn ich die bytes vergrößere ... deswegen hab ich mir das original code stück genauer angesehen, im prinzip wird doch nur die .gz datei ausgelesen und dekomprimiert... nunja ich möchte jetzt nicht immer blockweise die datei zusammenstellen sondern am stück, weiß einer wie ich des realisieren könnte? ich weiß nämlich nicht mehr weiter und so viel erfahrung mit dekomprimierung und streams habe ich auch (noch) nicht.
danke im voraus
da bin ich auch schon wieder beim nächsten Problem...
Folgenden Code habe ich im Internet gesucht und gefunden, und "durchstudiert"...naja so halbwegs.
VB.NET-Quellcode
- Public Function UnzipFile(ByVal sZipFile As String) As Boolean
- Try
- ' Existiert die Datei überhaupt
- If System.IO.File.Exists(sZipFile) Then
- ' GZIP-Datei öffnen
- Dim oStream As New System.IO.FileStream(sZipFile, IO.FileMode.Open)
- Dim oCompress As New System.IO.Compression.GZipStream(oStream, IO.Compression.CompressionMode.Decompress)
- 'ORIGINAL TEIL
- '' Inhalt blockweise auslesen und dekomprimieren
- 'Dim bBuffer() As Byte
- 'Dim nOffset As Integer = 0
- 'Dim nCount As Integer = 0
- 'While True
- ' ReDim Preserve bBuffer(nCount + 100)
- ' Dim nBytes As Integer = oCompress.Read(bBuffer, nOffset, 100)
- ' If nBytes = 0 Then Exit While
- ' nOffset += nBytes
- ' nCount += nBytes
- 'End While
- 'ReDim Preserve bBuffer(nCount - 1)
- 'ORIGINAL TEIL
- ' MEIN VERSUCHSTEIL
- Dim bBuffer(oStream.Length) As Byte
- With oCompress
- .Read(bBuffer, 0, bBuffer.Length)
- .Close()
- End With
- ' MEIN VERSUCHSTEIL
- ' Byte-Array in Zieldatei speichern
- My.Computer.FileSystem.WriteAllBytes(sZipFile.Substring(0, sZipFile.Length - 3), bBuffer, False)
- oStream.Close()
- oCompress.Close()
- Return True
- End If
- Catch
- Return False
- End Try
- End Function
Der auskommentierte Code ist der original code und der der jetzt drin steht (Der eig. das selbe machen sollte wie der auskommentierte) ist von mir, er tut nur leider nich dasselbe... Ziel ist es, eine .gz datei zu dekomprimieren... ansich funktioniert es mit dem original code aber dort dauert der vorgang vom dekomprimieren total lange.. selbst wenn ich die bytes vergrößere ... deswegen hab ich mir das original code stück genauer angesehen, im prinzip wird doch nur die .gz datei ausgelesen und dekomprimiert... nunja ich möchte jetzt nicht immer blockweise die datei zusammenstellen sondern am stück, weiß einer wie ich des realisieren könnte? ich weiß nämlich nicht mehr weiter und so viel erfahrung mit dekomprimierung und streams habe ich auch (noch) nicht.
danke im voraus