2009-10-05 3 views
2

System.IO.StreamReader에 입력 스트림을 래핑했습니다. 스트림 (StreamWriter)의 내용을 파일에 쓰고 싶습니다.StreamReader를 파일에 추가 하시겠습니까?

입력 스트림의 길이를 알 수 없습니다. 길이가 몇 바이트에서 기가 바이트가 될 수 있습니다.

너무 많은 메모리를 차지하지 않는 가장 쉬운 방법은 무엇입니까? 이 같은

답변

10

뭔가 : 이것은 당신이 다른 하나 개의 스트림의 내용을 복사하기 위해 작성했던 것과 매우 유사하다

public static void CopyText(TextReader input, TextWriter output) 
{ 
    char[] buffer = new char[8192]; 
    int length; 
    while ((length = input.Read(buffer, 0, buffer.Length)) > 0) 
    { 
     output.Write(buffer, 0, length); 
    } 
} 

주 - 이것은 단지 텍스트 데이터 대신 바이너리 데이터로 발생합니다.

관련 문제