Ionic Zip 提取文本文件内容始终为空

Ionic Zip extract text file contents always empty

给定代码:

using (var s = new MemoryStream())
{
    entry.Extract(s);

    if (fileExtension.Equals("json"))
    {
        using (var sr = new StreamReader(s))
        {
            var json = sr.ReadToEnd();
            if (!Functions.ValidJSON(json))
            {
                errorMessage = "'" + entry.FileName + "' contains invalid JSON data: " + json;
                break;
            }
        }
    }
}

Entry.FileName 是存在于 zip 中的 data.jsonentry.UncompressedSize > 0 因为它包含 JSON 数据。但是,json 变量始终为空。

我做错了什么?我希望它包含文件的文本内容。

我相信您只需要在 Extract 之后和 Read 之前将内存流的 Position 设置回 0

Position 随着流的写入而递增,但现在您需要读取,因此需要将其重置回 0