示例#1
0
 private void Cread()
 {
     byte[] compressedChunk = new byte[Cstream.Length];
     Cstream.Position = 0;
     Cstream.Read(compressedChunk, 0, compressedChunk.Length);
     Bhandle(compressedChunk);
     Cstream.Position = 0;
     Cstream.SetLength(0);
 }
示例#2
0
 public void Finish()
 {
     ThrowIfEnded();
     lock (Clock)
     {
         ThrowIfFinished();
         Finished = true;
         Caccessor.Dispose();
         Cstream.Dispose();
     }
 }
示例#3
0
 public override void Write(byte[] data)
 {
     ThrowIfEnded();
     lock (Clock)
     {
         ThrowIfFinished();
         Cstream.Write(data, 0, data.Length);
         Cstream.Position = 0;
         int len;
         len = Caccessor.Read(Cbuffer, 0, Cbuffer.Length);
         while (len > 0)
         {
             byte[] spliced = new byte[len];
             Buffer.BlockCopy(Cbuffer, 0, spliced, 0, len);
             Bwrite(spliced);
             len = Caccessor.Read(Cbuffer, 0, Cbuffer.Length);
         }
     }
 }
示例#4
0
 => Caccessor = new DeflateStream(Cstream, compressionLevel, true);
示例#5
0
 => Caccessor = new GZipStream(Cstream, compressionLevel, true);
示例#6
0
 => Caccessor = new DeflateStream(Cstream, CompressionMode.Decompress, true);
示例#7
0
 => Caccessor = new GZipStream(Cstream, CompressionMode.Decompress, true);