Devo comprimere un singolo file con in VB.Net. Questo è il codice che utilizzo, il quale si appoggia alla libreria open source SharpZipLib:
Codice PHP:
Private Sub Compress(ByVal SourceFile As String, ByVal DestionationFile As String)
Dim s As New ZipOutputStream(File.Create(DestionationFile))
Dim fs As FileStream = File.OpenRead(SourceFile)
Dim buffer(fs.Length) As Byte
fs.Read(buffer, 0, buffer.Length)
Dim MyEntry As New ZipEntry(SourceFile)
s.PutNextEntry(MyEntry)
s.Write(buffer, 0, buffer.Length)
s.Finish()
s.Close()
End Sub
Il codice non da nessun errore ma aprendo il file .zip creato con esplora risorse di windows dentro non si vede niente. Quindi in pratica NON FUNZIONA.
Aprendolo invece con WirRar trovo che il file è stato compresso ma che dentro al .zip c'è tutta la struttura del file system sorgente. Mi spiego meglio: se il file da zippare era "C:\Prova\Comprimimi.txt", dentro al file .zip trovo una cartella di nome "C", in cui dentro c'è una cartella di nome "Prova", in cui dentro c'è "Comprimimi.txt".
Come posso fare per zippare un file in modo "normale" e poterlo aprire "normalmente" con Windows?