1

为什么CopyTo会导致异常?它下面的代码运行完美,是我认为 copyto 会做的。

using (var mem = new MemoryStream())
{
    using (var memin = new MemoryStream(v.body))
    using (var comp = new BZip2InputStream(memin))
    {
        //comp.CopyTo(mem); //Non-negative number required (System.ArgumentOutOfRangeException)
        var buf = new Byte[1024 * 4];
        int len=0;
        while ((len = comp.Read(buf, 0, buf.Length)) > 0)
        {
            mem.Write(buf, 0, len);
        }

    }
4

1 回答 1

1

它是一个错误BZip2InputStream.Read(byte[] buffer, int offset, int count)。它返回 -1 而不是 0。我报告了这个错误

CopyTo 也像问题中的代码那样通过 != 0 而不是 >0 进行检查。

于 2012-10-05T01:29:44.060 回答