从StreamReader流中写入文件

24

我目前正在尝试从WCF下载音频轨道,我需要帮助将其写入硬盘,如何配置streamwriter或其他方法在webApp中实现此操作?

// 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
???

2
StreamReader 用于文本数据。 - Renatas M.
抱歉 -_- 我之前只处理过文本流,谢谢。 - RY4N
1个回答

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

这就是正确的做法,但如果他不使用除StreamReader之外的其他东西或者像var reader = new StreamReader(stream, Encoding.GetEncoding(28591));这样做,他的代码将无法正常工作。 - Showtime
你知道如何在 .Net 3.5 中做同样的事情吗? - Fayilt
1
使用循环的@Fayilt。`void CopyTo(Stream from, Stream to) { byte[] buffer = new 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); } }` - L.B
4
他在问StreamReader类,而不是Stream。 - Roni Tovi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接