zoukankan      html  css  js  c++  java
  • ZLib 压缩和解压流

    //流压缩
    procedure CompressStream(InStream, OutStream: TStream; ACompressLevel: TCompressionLevel);
    var
      CmpStream: TCompressionStream;
    begin
      InStream.Position := 0;
      CmpStream := TCompressionStream.Create(ACompressLevel, OutStream);
      try
        CmpStream.CopyFrom(InStream, 0);
        OutStream.Position := 0;
      finally
        CmpStream.Free;
      end;
    end;
    
    //流解压
    procedure DeCompressStream(InStream, OutStream: TStream);
    var
      DeCmpStream: TDeCompressionStream;
      Buf: array[1..512] of Byte;
      nSrcCount: Integer;
    begin
      InStream.Position := 0;
      DeCmpStream := TDeCompressionStream.Create(InStream);
      try
        repeat
          nSrcCount := DeCmpStream.Read(Buf, sizeof(Buf));
          if nSrcCount > 0 then
            OutStream.Write(Buf, nSrcCount);
        until(nSrcCount = 0);
        OutStream.Position := 0;
      finally
        DeCmpStream.Free;
      end;
    end;
  • 相关阅读:
    基础DP(初级版)
    UVA-816.Abbott's Tevenge (BFS + 打印路径)
    1044: 数圈
    1049: 打牌
    1047: 小A的计算器
    1046: 最小的K个数
    1045: 愚人节的礼物
    1044: 数圈
    1043: 绩点计算
    1042: 小丑排序
  • 原文地址:https://www.cnblogs.com/shuaixf/p/1743245.html
Copyright © 2011-2022 走看看