2012-03-22 103 views
13

我目前正試圖從WCF下載音軌,我需要一些幫助將其寫入硬盤,我如何配置Streamwriter或其他在webApp中執行此操作?從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 2012-03-22 11:32:52

+0

woops -_-僅在流這得益於之前討論了文字。 – RY4N 2012-03-22 11:41:05

回答

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 2012-03-22 14:34:55

+0

你知道如何在.net 3.5中做同樣的事情? – Fayilt 2013-08-12 10:23:12

+1

@Fayilt帶循環。 'void CopyTo(Stream from,Stream to) byte [] buffer = new byte [0x10000]; int read = from.Read(buffer,0,buffer.Length); (讀取> 0) {0}寫入(緩衝區,0,讀取); read = from.Read(buffer,0,buffer.Length); } }' – 2013-08-12 17:55:53