0

我使用 C# 的 ZipDotNet 库。

我用这样的随机数据创建了一个字节数组:

public static byte[] GetRandomBytes(int Length)
        {
            byte[] data = new byte[Length];
            Random random = new Random();
            random.NextBytes(data);
            return data;
        }

现在我想将这些字节压缩到 MemoryStream 并将 MemoryStream 作为字节数组返回。

public static byte[] zipFileToStream(byte[] file)
        {
            using (MemoryStream memStream = new MemoryStream())
            {
                using (ZipFile zip = new ZipFile())
                {
                    zip.AddEntry("file.txt", file);
                    zip.Save(memStream);
                }
                return memStream.ToArray();
            }
       }

当我打印出返回的字节数组时,里面总是有相同的字节吗?

谁能帮我解决我的问题?

4

2 回答 2

0

您是否检查了 zipFileToStream 的整个输出?ZIP 存档对每个文件条目都有一些标题,在您的情况下,每次的第一个字节数都是相同的。

于 2012-12-24T10:23:32.540 回答
0

将 MemoryStrream Position 设置为 0 解决了这个问题。

于 2013-01-01T10:41:30.670 回答