很简单的场景.我有一个Web服务,它接收一个字节数组,该数组将保存为磁盘上的特定文件类型.在C#中执行此操作的最有效方法是什么?
那就是File.WriteAllBytes()
.
System.IO.File.WriteAllBytes(path, data)
应该没事.
而WriteAllBytes只是执行
using (FileStream stream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read)) { stream.Write(bytes, 0, bytes.Length); }
BinaryWriter有一个误导性的名称,它用于将原语写为字节表示而不是写二进制数据.它的所有Write(byte [])方法都在它使用的流上执行Write(),在本例中是FileStream.
在这种情况下,不确定你的"高效"是什么意思,但我会使用System.IO.File.WriteAllBytes(字符串路径,byte []字节) - 就LOC而言当然是有效的.