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 the ZipWriter object around the stream.
Xceed.Zip.ReaderWriter.ZipWriter zipWriter1 =
new Xceed.Zip.ReaderWriter.ZipWriter(fileStream1);
//The source directory.
DirectoryInfo directoryInfo = new DirectoryInfo(@"d:\test\");
if (directoryInfo.Exists)
{
//Get files in the current directory and all subdirectories.
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);
Console.WriteLine("Writing {0}. {1} bytes written.",
zipItemLocalHeader1.FileName, read);
}
}
}
//Close the Zip archive. Writes the archive's central header.
zipWriter1.CloseZipFile();
Console.WriteLine("Zip archive created.");
}
}
Imports System.IO
Imports Xceed.Zip.ReaderWriter
'The target Zip archive
Using fileStream1 AsNew FileStream("d:\testOutput\test.zip",
FileMode.Create, FileAccess.Write)
'Create the ZipWriter object around the stream.
Dim zipWriter1 AsNew Xceed.Zip.ReaderWriter.ZipWriter(fileStream1)
'The source directory
Dim directoryInfo AsNew DirectoryInfo("d:\test\")
If directoryInfo.Exists Then'Get files in the current directory and all subdirectories.
Dim 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)
Console.WriteLine("Writing {0}. {1} bytes written.", zipItemLocalHeader1.FileName, read)
read = fs.Read(buffer, 0, buffer.Length)
LoopEndUsingNext file
'Close the Zip archive. Writes the archive's central header.
zipWriter1.CloseZipFile()
Console.WriteLine("Zip archive created.")
EndIfEndUsing