我正在通过网络服务阅读文本文件。我正在获取byte []数据块中的数据并将其重新组装成MemoryStream。现在我想弄清楚如何在textarea中显示文本数据。关于如何做到这一点的任何建议,我被卡住了?
更新
这是最终的解决方案,它将文本文件的内容作为字符串返回,然后显示在textarea中。
public string DownloadFile(string filenamepath)
{
int offset = 0;
int chunkSize = 16000;
string filecontents = string.Empty;
using (var wsc = new WebServiceClient())
{
using (var fs = new MemoryStream())
{
while (true)
{
var buffer = wsc.DownloadFile(filenamepath, offset, chunkSize);
int read = buffer.Length;
if (read <= 0)
break;
fs.Seek(offset, SeekOrigin.Begin);
fs.Write(buffer, 0, read);
offset += read;
}
using (var reader = new StreamReader(fs))
{
reader.BaseStream.Seek(0, SeekOrigin.Begin);
filecontents = reader.ReadToEnd();
}
}
}
return filecontents;
}
答案 0 :(得分:4)
围绕StreamReader
换MemoryStream
并调用读者的ReadToEnd()
方法。
确保相应地设置读者的编码。
答案 1 :(得分:2)
使用:
MemoryStream stream = ... //Your memory stream here
using (var reader = new StreamReader(stream))
{
textArea.Text = reader.ReadToEnd();
}