public long WriteZipOutputStream() { using (var memoryStream = new MemoryStream(outputBuffer)) { var zipOutputStream = new SharpZipLib.Zip.ZipOutputStream(memoryStream); zipOutputStream.PutNextEntry(new SharpZipLib.Zip.ZipEntry("0")); for (int i = 0; i < ChunkCount; i++) { zipOutputStream.Write(inputBuffer, 0, inputBuffer.Length); } return(memoryStream.Position); } }
public async Task <long> WriteZipOutputStreamAsync() { using (var memoryStream = new MemoryStream(outputBuffer)) { using (var zipOutputStream = new SharpZipLib.Zip.ZipOutputStream(memoryStream)) { zipOutputStream.IsStreamOwner = false; zipOutputStream.PutNextEntry(new SharpZipLib.Zip.ZipEntry("0")); for (int i = 0; i < ChunkCount; i++) { await zipOutputStream.WriteAsync(inputBuffer, 0, inputBuffer.Length); } } return(memoryStream.Position); } }
public ZipInputStream() { using (var memoryStream = new MemoryStream()) { using (var zipOutputStream = new SharpZipLib.Zip.ZipOutputStream(memoryStream)) { zipOutputStream.PutNextEntry(new SharpZipLib.Zip.ZipEntry("0")); var inputBuffer = new byte[ChunkSize]; for (int i = 0; i < ChunkCount; i++) { zipOutputStream.Write(inputBuffer, 0, inputBuffer.Length); } } zippedData = memoryStream.ToArray(); } }