Xceed .NET Libraries Documentation
Zip(String,String,EncryptionMethod,Boolean,Boolean,Boolean,DiskRequiredCallback,Object,String[]) Method
Example 


Xceed.Zip Assembly > Xceed.Zip Namespace > QuickZip Class > Zip Method : Zip(String,String,EncryptionMethod,Boolean,Boolean,Boolean,DiskRequiredCallback,Object,String[]) Method
The fully-qualified path and name of the zip file.
The password that will be used to encrypt the files.
The EncryptionMethod that will be used to encrypt the files. If EncryptionMethod.WinZipAes is passed, an encryption strength of 256 will be used.
Boolean value indicating if existing files should be overwritten.
Boolean value indicating if files contained within sub-folders should be added to the zip file.
Boolean value indicating if the directory structure should be preserved in the zip file.
The callback method called whenever the DiskRequired event is triggered.
Opaque data which will be passed back to the callback method.
The files to add to zipFileName. Can contain filemasks and folder names (ending with a backslash). All subfolders will also be scanned for the specified file(s), even if wildcards are not used, if recursive is set to true. For example, if "C:\test.txt" is specified, all "test.txt" files found on the "C:\" drive will be added to the zip file. Folders specified with the backslash after them will include their entire contents. Cannot be a null reference (Nothing in Visual Basic).
Adds files to a spanned zip file specifying the callback method called when requesting a new disk, using an encryption password and method, and specifying whether existing files will be overwritten and if the directory structure will be preserved.
Syntax
'Declaration
 
Public Overloads Shared Sub Zip( _
   ByVal zipFileName As String, _
   ByVal encryptionPassword As String, _
   ByVal encryptionMethod As EncryptionMethod, _
   ByVal replaceExistingFiles As Boolean, _
   ByVal recursive As Boolean, _
   ByVal preservePaths As Boolean, _
   ByVal diskRequiredCallback As QuickZip.DiskRequiredCallback, _
   ByVal userParams As Object, _
   ByVal ParamArray filesToZip() As String _
) 
'Usage
 
Dim zipFileName As String
Dim encryptionPassword As String
Dim encryptionMethod As EncryptionMethod
Dim replaceExistingFiles As Boolean
Dim recursive As Boolean
Dim preservePaths As Boolean
Dim diskRequiredCallback As QuickZip.DiskRequiredCallback
Dim userParams As Object
Dim filesToZip() As String
 
QuickZip.Zip(zipFileName, encryptionPassword, encryptionMethod, replaceExistingFiles, recursive, preservePaths, diskRequiredCallback, userParams, filesToZip)

Parameters

zipFileName
The fully-qualified path and name of the zip file.
encryptionPassword
The password that will be used to encrypt the files.
encryptionMethod
The EncryptionMethod that will be used to encrypt the files. If EncryptionMethod.WinZipAes is passed, an encryption strength of 256 will be used.
replaceExistingFiles
Boolean value indicating if existing files should be overwritten.
recursive
Boolean value indicating if files contained within sub-folders should be added to the zip file.
preservePaths
Boolean value indicating if the directory structure should be preserved in the zip file.
diskRequiredCallback
The callback method called whenever the DiskRequired event is triggered.
userParams
Opaque data which will be passed back to the callback method.
filesToZip
The files to add to zipFileName. Can contain filemasks and folder names (ending with a backslash). All subfolders will also be scanned for the specified file(s), even if wildcards are not used, if recursive is set to true. For example, if "C:\test.txt" is specified, all "test.txt" files found on the "C:\" drive will be added to the zip file. Folders specified with the backslash after them will include their entire contents. Cannot be a null reference (Nothing in Visual Basic).
Remarks

If zipFileName does not exist, it will be created and then the files will be added.

By default, Unicode and FileTimes extra headers are stored in the zip file when new items are added to the zip file. The extra headers of items that already exist in the zip file will not be modified.

All zip files will automatically be created in the Zip64 zip file format if the limitations of the regular Zip format are reached.

Example
The following example demonstrates how to create a spanned zip file.
QuickZip.Zip("a:\test.zip", String.Empty, Xceed.Zip.EncryptionMethod.WinZipAes, True, _
             True, False, New QuickZip.DiskRequiredCallback(AddressOf Me.QuickDiskRequired), _
             Nothing, "d:\file.txt")

' This method will handle the DiskRequired events that are raised when creating
' spanned or split zip files.
Private Function QuickDiskRequired(ByVal zipFile As String, ByVal diskNumber As Integer, _
                                   ByVal userData As Object) As Boolean
     If (MessageBox.Show("Disk #" + diskNumber.ToString() + " is required.", "Disk Required", _
                         MessageBoxButtons.OKCancel) = DialogResult.OK) Then
          Return True
     Else
          Return False
     End If
End Function
QuickZip.Zip( @"a:\test.zip", string.Empty, Xceed.Zip.EncryptionMethod.WinZipAes, true, true, false, 
              new QuickZip.DiskRequiredCallback( this.QuickDiskRequired ), 
              null, @"d:\file.txt" );

// This method will handle the DiskRequired events that are raised when creating
// spanned or split zip files.
private bool QuickDiskRequired( string zipFile, int diskNumber, object userData )
{
     if( MessageBox.Show( "Disk #" + diskNumber.ToString() + " is required.", "Disk Required", 
                          MessageBoxButtons.OKCancel ) == DialogResult.OK )
          return true;
     else
          return false;    
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

QuickZip Class
QuickZip Members
Overload List

Creating secure passwords

Strong passwords: How to create and use them
Create secure password or login