鉴于代码:
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
是data.json
,它存在于zip中,entry.UncompressedSize > 0
因为它包含JSON数据。但是,json
var始终为空。
我做错了什么?我希望它包含文件的文本内容。
答案 0 :(得分:1)
我相信您只需要在Position
之后和0
之前将记忆流Extract
设置回Read
。
Position
会增加,但现在需要读取,因此需要将其重置为0
。