using System.IO;
using Xceed.Zip.ReaderWriter;
//The target Zip archive.
using (FileStream fileStream1 = new FileStream(@"d:\testOutput\test.zip",
FileMode.Create, FileAccess.Write))
{
//Create a ZipWriter object around the stream.
Xceed.Zip.ReaderWriter.ZipWriter zipWriter1 =
new Xceed.Zip.ReaderWriter.ZipWriter(fileStream1);
//Subscribe to the ByteProgression event
zipWriter1.ByteProgression += new
EventHandler<ZipWriterByteProgressionEventArgs>(zipWriter1_ByteProgression);
DirectoryInfo directoryInfo = new DirectoryInfo(@"d:\test\");
if (directoryInfo.Exists)
{
FileInfo[] files = directoryInfo.GetFiles("*.*",
SearchOption.AllDirectories);
foreach (FileInfo file in files)
{
//Create ZipItemLocalHeader for current item and write to archive.
ZipItemLocalHeader zipItemLocalHeader1 = new ZipItemLocalHeader
(file.Name);
zipWriter1.WriteItemLocalHeader(zipItemLocalHeader1);
byte[] buffer = newbyte[1024];
int read = 0;
using (FileStream fs = file.OpenRead())
{
//Read the current item's data
while ((read = fs.Read(buffer, 0, buffer.Length)) != 0)
{
//Write the current item's data to the Zip archive
zipWriter1.WriteItemData(buffer, 0, read);
}
}
}
//Close the Zip archive
zipWriter1.CloseZipFile();
Console.WriteLine("Zip archive created.");
}
}
//The ByteProgression event's handler. Demonstrates the use of
//the properties of ZipWriterByteProgressionEventArgs.
staticvoid zipWriter1_ByteProgression(object sender,
ZipWriterByteProgressionEventArgs e)
{
Console.WriteLine("Item {0}: CompressionMethod = {1},
CompressionLevel = {2}.", e.ZipItemLocalHeader.FileName,
e.ZipItemLocalHeader.CompressionMethod,
e.ZipItemLocalHeader.CompressionLevel);
}
Imports System.IO
Imports Xceed.Zip.ReaderWriter
'The target Zip archive.
Using fileStream1 AsNew FileStream("d:\testOutput\test.zip",
FileMode.Create, FileAccess.Write)
'Create a ZipWriter object around the stream.
Dim zipWriter1 AsNew Xceed.Zip.ReaderWriter.ZipWriter(fileStream1)
'Subscribe to the ByteProgression event.
AddHandler zipWriter1.ByteProgression, AddressOfOf
ZipWriterByteProgressionEventArgs
Dim directoryInfo AsNew DirectoryInfo("d:\test\")
If directoryInfo.Exists ThenDim files As FileInfo() = directoryInfo.GetFiles("*.*",
SearchOption.AllDirectories)
ForEach file As FileInfo In files
'Create ZipItemLocalHeader for current item and write to archive.
Dim zipItemLocalHeader1 AsNew ZipItemLocalHeader(file.Name)
zipWriter1.WriteItemLocalHeader(zipItemLocalHeader1)
Dim buffer AsByte() = NewByte(1023){}
Dim read AsInteger = 0
Using fs As FileStream = file.OpenRead()
'Read the current item's data
read = fs.Read(buffer, 0, buffer.Length)
DoWhile (read <> 0)
'Write the current item's data to the Zip archive
zipWriter1.WriteItemData(buffer, 0, read)
read = fs.Read(buffer, 0, buffer.Length)
LoopEndUsingNext file
'Close the Zip archive
zipWriter1.CloseZipFile()
Console.WriteLine("Zip archive created.")
EndIfEndUsing'The ByteProgression event's handler. Demonstrates the use of
'the properties of ZipWriterByteProgressionEventArgs.
SharedSub zipWriter1_ByteProgression(ByVal sender AsObject, ByVal e As ZipWriterByteProgressionEventArgs)
Console.WriteLine("Item {0}: CompressionMethod = {1},
CompressionLevel = {2}.", e.ZipItemLocalHeader.FileName,
e.ZipItemLocalHeader.CompressionMethod,
e.ZipItemLocalHeader.CompressionLevel)
End Sub