小编gre*_*ner的帖子

使用Compression.DeflateStream压缩和解压缩Stream

我正在尝试使用Compression.DeflateStream压缩和解压缩Stream .压缩似乎工作正常,因为下面的代码将我的Stream压缩为一个110字节长的数组.但是,读取解压缩的Stream会导致空字符串.

class Program
{
    static void Main(string[] args)
    {
        // Compress a random string value
        string value = Path.GetRandomFileName();
        byte[] compressedBytes;

        using (var writer = new StreamWriter(new MemoryStream()))
        {
            writer.Write(value);
            writer.Flush();
            writer.BaseStream.Position = 0;

            compressedBytes = Compress(writer.BaseStream);
        }

        // Decompress compressed bytes
        Stream decompressedStream = Decompress(compressedBytes);
        // here already applies: decompressedStream.Length == 0

        using (var reader = new StreamReader(decompressedStream))
        {
            string decompressedValue = reader.ReadToEnd();

            if (value == decompressedValue)
                Console.WriteLine("Success");
            else
                Console.WriteLine("Failed");
        }
    }

    private static byte[] Compress(Stream …
Run Code Online (Sandbox Code Playgroud)

.net c# compression stream

19
推荐指数
3
解决办法
5万
查看次数

标签 统计

.net ×1

c# ×1

compression ×1

stream ×1