|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Messaggi: n/a
|
[C#] Problema con GZipStream
Salve a tutti,
sto giocando un po' con gli stream ed in particolare con il GZipStream: riesco senza problemi a comprimere e decomprimere file come segue: Codice:
static void CompressFile(string inFilename, string outFilename) { FileStream sourceFile = File.OpenRead(inFilename); FileStream destFile = File.Create(outFilename); GZipStream compStream = new GZipStream(destFile, CompressionMode.Compress); int theByte = sourceFile.ReadByte(); while (theByte != -1) { compStream.WriteByte((byte)theByte); theByte = sourceFile.ReadByte(); } compStream.Close(); sourceFile.Close(); destFile.Close(); } Codice:
static void UncompressFile(string inFilename, string outFilename) { FileStream sourceFile = File.OpenRead(inFilename); FileStream destFile = File.Create(outFilename); GZipStream compStream = new GZipStream(sourceFile, CompressionMode.Decompress, false); int theByte = compStream.ReadByte(); while (theByte != -1) { destFile.WriteByte((byte)theByte); theByte = compStream.ReadByte(); } compStream.Close(); sourceFile.Close(); destFile.Close(); } Il codice che ho buttato giù è il seguente: Codice:
byte[] byteArraySource = File.ReadAllBytes(@"C:\TEST.TXT"); [] byteArrayDestination; MemoryStream memorySource = new MemoryStream(); MemoryStream memoryDestination = new MemoryStream(); GZipStream compressMemory = new GZipStream(memoryDestination, CompressionMode.Compress); memorySource.Write(byteArraySource, 0, byteArraySource.Length); memorySource.Position = 0; theByte = memorySource.ReadByte(); while (theByte != -1) { compressMemory.WriteByte((byte)theByte); theByte = memorySource.ReadByte(); } memoryDestination.Position = 0; byteArrayDestination = new byte[memoryDestination.Length]; memoryDestination.Read(byteArrayDestination, 0, (int)memoryDestination.Length); compressMemory.Close(); memorySource.Close(); memoryDestination.Close(); FileStream temp = File.Create(@"C:\TEMP.ZIP"); temp.Write(byteArrayDestination, 0, byteArrayDestination.Length); temp.Close(); Mi illuminate?? grazie a tutti anticipatamente! |
![]() |
![]() |
#2 |
Messaggi: n/a
|
Up
|
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:59.