2012-07-15 70 views
0

如何將IEnumerable<byte>寫入磁盤?如何將IEnumerable <byte>寫入磁盤?

IEnumerable<byte> NewRIFF = riff.s_Chunk_ID. 
           Concat(riff.ui_Chunk_Size). 
           Concat(riff.s_Format); 

IEnumerable<byte> NewFMT = fmt.s_Sub_Chunk_ID_1. 
           Concat(fmt.ui_Sub_Chunk_Size_ID_1). 
           Concat(fmt.us_Audio_Format). 
           Concat(fmt.us_Num_Channels). 
           Concat(fmt.ui_Sample_Rate). 
           Concat(fmt.ui_Byte_Rate). 
           Concat(fmt.us_Block_Align). 
           Concat(fmt.us_Bits_Per_Sample); 

IEnumerable<byte> NewDATA = data.s_Sub_Chunk_ID_2. 
           Concat(data.i_Sub_Chunk_Size_2). 
           Concat(data.byar_Audio_PCM_data); 

IEnumerable<byte> NewWaveFile = NewRIFF.Concat(NewFMT).Concat(NewDATA); 

回答

4

可以使用File.WriteAllBytes更多信息和示例:http://msdn.microsoft.com/en-us/library/system.io.file.writeallbytes.aspx

UPDATE:

根據註釋有一個完整的答案:

File.WriteAllBytes(@"YourFullPath", NewRIFF.ToArray()); 

與同爲NewFMTNewDATA and NewWaveFile

+1

要將IEnumerable轉換爲數組(這是使用File.WriteAllBytes所必需的),請參閱[此Jon Skeet答案](http://stackoverflow.com/a/268699/107625)。 – 2012-07-15 12:52:09

+0

感謝您的解決方案。 – 2012-07-15 13:24:14