使用 ICSharpCode.SharpZipLib.dll 实现 PB 中的 Gzip 压缩

可以通过调用 ICSharpCode.SharpZipLib.dll 中的方法在 PowerBuilder 中实现 Gzip 压缩。以下为一个 C# 编写的示例,可供 PowerBuilder 使用:

using ICSharpCode.SharpZipLib.GZip;
using System.IO;

public static void Compress(string inputFile, string outputFile)
{
    using (FileStream inputStream = new FileStream(inputFile, FileMode.Open, FileAccess.Read))
    {
        using (GZipOutputStream outputStream = new GZipOutputStream(new FileStream(outputFile, FileMode.Create, FileAccess.Write)))
        {
            int size = 1024 * 4; // 4KB
            byte[] buffer = new byte[size];

            while (true)
            {
                int count = inputStream.Read(buffer, 0, size);
                if (count > 0)
                {
                    outputStream.Write(buffer, 0, count);
                }
                else
                {
                    break;
                }
            }
        }
    }
}
rar 文件大小:100.42KB