2011-04-20 1 views
3

웹 서비스를 통해 텍스트 파일을 읽는 중입니다. 나는 데이터를 byte [] 데이터 청크로 가져 와서 MemoryStream으로 다시 어셈블한다. 이제 텍스트 영역에 텍스트 데이터를 표시하는 방법을 알아 내려고 노력 중입니다. 이 작업을 수행하는 방법에 대한 권장 사항은 무엇입니까?스트리밍 및 텍스트로 표시 할 파일을 읽는 방법?

업데이트 여기

는 텍스트 영역에 표시되는 문자열로 텍스트 파일의 내용을 반환 최종 솔루션입니다.

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

답변

2

사용 :

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

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

랩 그런 MemoryStream 주위 StreamReader 및 독자의 ReadToEnd() 메소드를 호출합니다.

그에 따라 독자의 인코딩을 설정해야합니다.