2011-04-20 96 views
3

我正在通過Web服務讀取文本文件。我以byte []數據爲單位獲取數據並將其重組爲MemoryStream。現在我正試圖弄清楚如何在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; 
    } 
+3

你能發佈您的代碼? – Oded 2011-04-20 19:47:47

回答

2

用途:

MemoryStream stream = ... //Your memory stream here 

using (var reader = new StreamReader(stream)) 
{ 
    textArea.Text = reader.ReadToEnd(); 
} 
4

換行MemoryStream圍繞StreamReader,並呼籲讀者的ReadToEnd()方法。

確保相應地設置閱讀器的編碼。

相關問題