2012-03-22 7 views
13

현재 WCF에서 오디오 트랙을 다운로드하려고하는데, 하드 디스크에 쓰는 데 도움이 필요합니까? 아니면 스트림 작성기를 구성하거나 다른 방법으로 웹 애플리케이션에서이 작업을 수행 할 수 있습니까?StreamReader 스트림에서 파일 작성하기

// Use Service to download stream (returns System.IO.Stream) 
Stream stream = MyService.Download(("1231")); 
// ReadStream 
StreamReader reader = new StreamReader(stream); 
reader.ReadToEnd(); 

// Write this stream to a file/Hard disk 
??? 
+1

에서는 StreamReader는 텍스트 데이터 – Reniuz

+0

woops -_-에만이 감사하기 전에 스트림에서 텍스트 처리를위한 것입니다. – RY4N

답변

24
Stream stream = MyService.Download(("1231")); 
using (Stream s = File.Create(path)) 
{ 
    stream.CopyTo(s); 
} 
+0

이것이 어떻게해야하는지는 모르겠지만 StreamReader가 아닌 다른 것을 사용하거나'var reader = new StreamReader (stream, Encoding.GetEncoding (28591));과 같은 것을하지 않으면 그의 코드에서 작동하지 않을 것입니다 ' – Showtime

+0

.Net 3.5에서 동일한 작업을 수행하는 방법을 알고 있습니까? – Fayilt

+1

루프로 @Fayilt. 'void CopyTo (스트림에서부터 스트림) { byte [] 버퍼 = 새로운 바이트 [0x10000]; int read = from.Read (buffer, 0, buffer.Length); while (read> 0) { to.Write (buffer, 0, read); read = from.Read (buffer, 0, buffer.Length); } } ' –