Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从文件读取到流并显示为文本?_C#_Asp.net Mvc_Memorystream - Fatal编程技术网

C# 如何从文件读取到流并显示为文本?

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

我正在通过web服务读取文本文件。我获取字节[]数据块中的数据,并将其重新组装成内存流。现在我正试图弄清楚如何在文本区域中显示文本数据。有什么建议吗,我被卡住了

更新

下面是最终的解决方案,它以字符串形式返回文本文件的内容,然后显示在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;
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();
}