2012-11-02 3 views

답변

3

언제든지 메모리에 파일 전체가 필요합니까? 그렇지 않다면, 그냥 같은 것을 사용하십시오 :

public static void CopyStream(Stream input, Stream output) 
{ 
    byte[] buffer = new byte[32 * 1024]; // Or whatever size you want 
    int read; 
    while ((read = input.Read(buffer, 0, buffer.Length)) > 0) 
    { 
     output.Write(buffer, 0, read); 
    } 
} 

그럼 그냥 따라 각 파일을 엽니 다 따로

using (Stream input = File.OpenRead(...), output = File.OpenWrite(...)) 
{ 
    CopyStream(input, output); 
} 
+0

랜덤 : 나는 사양에 본 적이 있지만, 잘 모르겠어요 I ** **는 ** "야생에서"사용되는 다중 객체 using 문을 보았습니다. –

+0

@MarcGravell : 마찬가지로; 그것은 꽤 드물다 - 그러나 나는'Stream'이 거의 표준적인 예제가 될 것이라고 생각한다. 아마도 두 개의 콜렉션을 명시 적으로 반복하지 않는 한 ... –

+0

또는 두 개의 데이터베이스 사이에'SqlBulkCopy' (두 개의'SqlConnection' 등). 어쨌든, 우리는 빗 나간다. –

관련 문제