Feedback

Einfache HelperClass für SharpZipLib

FileMode.Create)

Option Strict On

Imports ICSharpCode.SharpZipLib
Imports System.IO

Public Class ZipLib

    Private mCompressionLevel As Integer = 6

    Public Property CompressionLevel() As Integer
        Get
            Return mCompressionLevel
        End Get
        Set(ByVal value As Integer)
            mCompressionLevel = value
        End Set
    End Property

    ''' <summary>
    ''' Diese Funktion komprimiert alle Dateien in einem Ordner
    ''' </summary>
    ''' <param name="InputDir">Der Ordner der komprimiert werden soll</param>
    ''' <param name="FileName">Gibt den Namen an nach dem die ZIP Datei benannt werden soll</param>
    ''' <param name="OutputDir">Gibt das Ziel für die ZIP Datei an. Wenn kein Ziel übergeben wurde wird die Datei im Parent Ordner erstellt</param>
    Public Sub CompressDirectory(ByVal InputDir As String, ByVal FileName As String, Optional ByVal OutputDir As String = "")
        Dim Files As New List(Of String)
        Dim RelativePath As String
        GetAllFiles(InputDir, Files)

        If OutputDir = "" Then OutputDir = Path.GetDirectoryName(InputDir)
        If Directory.Exists(OutputDir) = False Then Directory.CreateDirectory(OutputDir)

        Dim ZFS As New FileStream(OutputDir & "" & FileName