【问题标题】:ZipDotNet creates same stream for randomfilesZipDotNet 为随机文件创建相同的流
【发布时间】:2012-12-14 15:49:59
【问题描述】:

我正在使用 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();
            }
       }

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

谁能帮我解决我的问题?

【问题讨论】:

    标签: c#-4.0 stream zip


    【解决方案1】:

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

    【讨论】:

    • 这不是问题。我没有将 MemoryStream 位置设置为 0。现在它可以工作了。谢谢
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-06
      • 2011-08-15
      • 2020-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多