C# 如何从文件读取到流并显示为文本?
我正在通过web服务读取文本文件。我获取字节[]数据块中的数据,并将其重新组装成内存流。现在我正试图弄清楚如何在文本区域中显示文本数据。有什么建议吗,我被卡住了 更新 下面是最终的解决方案,它以字符串形式返回文本文件的内容,然后显示在textarea中C# 如何从文件读取到流并显示为文本?,c#,asp.net-mvc,memorystream,C#,Asp.net Mvc,Memorystream,我正在通过web服务读取文本文件。我获取字节[]数据块中的数据,并将其重新组装成内存流。现在我正试图弄清楚如何在文本区域中显示文本数据。有什么建议吗,我被卡住了 更新 下面是最终的解决方案,它以字符串形式返回文本文件的内容,然后显示在textarea中 public string DownloadFile(string filenamepath) { int offset = 0; int chunkSize = 16000; st
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;
int chunkSize=16000;
string filecontents=string.Empty;
使用(var wsc=new WebServiceClient())
{
使用(var fs=new MemoryStream())
{
while(true)
{
var buffer=wsc.DownloadFile(filenamepath,offset,chunkSize);
int read=buffer.Length;
if(read将StreamReader
包装在MemoryStream
周围,并调用读取器的ReadToEnd()
方法
确保相应地设置读卡器的编码。使用:
MemoryStream stream = ... //Your memory stream here
using (var reader = new StreamReader(stream))
{
textArea.Text = reader.ReadToEnd();
}