Dart Home | PowerTCP Zip Compression for .NET | Custom Development | Reply | PowerTCP Zip Compression for .NET Topics | Forums |
Author | Forum: PowerTCP Zip Compression for .NET Topic: Zip to file produces archives containing void files |
idngarda From: Brescia, Italy Posts: 2 Member Since: 08/08/08 |
posted August 8, 2008 11:48 AM I'm trying to generate "on-demand" zip files using the Zip(string destination) method. Here is my sample code: static void Main(string[] args) { //creates a new archive Archive a = new Archive(); //creates a new memory stream and stream writer MemoryStream ms = new MemoryStream(); StreamWriter sw = new StreamWriter(ms); //adds something to the memory stream sw.Write("Hallo World!"); sw.Flush(); //creates a new archive item and adds it to the archive ArchiveItem item1 = new ArchiveItem(ms); item1.Name = "SampleFile.txt"; a.Add(item1); //zips the archive to a new memory stream MemoryStream streamArchive = new MemoryStream(); a.Zip("c:\\sample.zip"); } After the "sw.Write("Hallo World!")" command, ms.Length equals 12. After the "ArchiveItem item1 = new ArchiveItem(ms)" command, item1.Size equals 12, and item1.CompressedSize equals 0. After the "a.Add(item1)" command, a.Count equals 1. After the "a.Zip("c:\\sample.zip")" command, item1.Size equals 12, and item1.CompressedSize equals 2. The file size of sample.zip is 128 byte. If I open sample.zip with my WinZip, il will find SampleZip.txt inside. The file size of sample.zip is 12 byte, but its content is totally void (I cannot find my "Hallo World"!). Where am I wrong? The version I am using is 2.0.0.6 Many thanks! |
Jason Farrar (Admin) From: Oneida, NY USA Posts: 223 Member Since: 07/24/07 Extra Support Options Custom Application Development |
posted August 12, 2008 11:35 AM after sw.flush() you need to add: ms.Position = 0; The position of the memory stream is at the end of the stream because that is where it is after the stream is written to. We don't reset it automatically because this provides the ability to write only a segment of the stream to the zip by setting the memory stream position before adding it to the archive. ------ |
idngarda From: Brescia, Italy Posts: 2 Member Since: 08/08/08 |
posted August 12, 2008 11:42 AM Many thanks! Now it works correctly! An advice: add this tip in the help file! |
Reply | PowerTCP Zip Compression for .NET Topics | Forums |
This site is powered by PowerTCP WebServer for ActiveX |