非常简单的场景。我有一个Web服务接收一个字节数组,该字节数组将被保存为磁盘上的特定文件类型。什么是在C#中最有效的方法?在C#中,将字节数组保存为磁盘上的文件的最有效方法是什么?
回答
System.IO.File.WriteAllBytes(path, data)
应该没问题。
不确定在这种情况下“高效”是什么意思,但我会用System.IO.File.WriteAllBytes(string path, byte[] bytes) - 在LOC方面肯定有效。
也许System.IO.BinaryWriter和BinaryReader类会有所帮助。
http://msdn.microsoft.com/en-us/library/system.io.binarywriter.aspx
“以二进制流写入原始类型,并支持在一个特定的编码写入字符串”。
http://msdn.microsoft.com/en-us/library/system.io.binaryreader.aspx
“读取原始数据类型为在特定的编码的二进制值。”
有源代码的任何真实示例? – Kiquenet 2010-12-29 16:08:14
我有一个类似的问题展开反倾销调查300 MB字节数组到磁盘文件...
我用的StreamWriter,我花了一个很好的30分钟到转储文件。
使用FilePut花了我3到4分钟,当我用BinaryWriter时,文件在50-60秒内被转储。
如果您使用BinaryWriter,您将获得更好的性能。
实际上,最有效的方式是流式传输数据并在收到数据时进行写入。 WCF支持流媒体,因此这可能是您想要查看的内容。如果你用大文件做这件事,这一点尤其重要,因为你几乎肯定不希望服务器和客户端上的内存中的文件内容。
这是一个没人提及的重要细节,但是正如你指出WriteAllBytes并不是Memory的最有效方式,因为它消耗了大量的内存。在可能的情况下尽快写入它肯定会更好,我甚至可以通过使用带有较小缓冲区的StreamWriter进行更好的分配。 – ForceMagic 2017-07-11 13:07:24
而且WriteAllBytes只是执行
using (FileStream stream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read))
{
stream.Write(bytes, 0, bytes.Length);
}
的BinaryWriter具有误导性的名称,它是用来编写元为一个字节表示,而不是写二进制数据。它的所有Write(byte [])方法都会对其使用的流(在本例中为FileStream)执行Write()。
- 1. 在C中合并字节数组的最有效方法是什么?
- 2. PHP将png文件保存为0字节到磁盘
- 3. 在磁盘上存储Python字典的有效方法?
- 4. 在Java中将对象存储在磁盘上的最佳方式是什么?
- 5. 使用python处理大量磁盘数据的最有效方法是什么?
- 6. 将文件保存在磁盘中
- 7. 将数据写入文件的最有效方法是什么?
- 8. c - 将char *数组转换为int和float的最有效方法是什么?
- 9. 将C++结构体编组为C#的最有效方法是什么?
- 10. Python:如何有效地将2d numpy数组保存到磁盘?
- 11. 在Java中输入数组的最有效方法是什么?
- 12. 什么是在Javascript中反转数组的最有效方法?
- 13. Carrierwave不保存磁盘上的文件
- 14. 为什么文件中的数组的二进制保存有效? [C++]
- 15. 为什么内存没有在C#在磁盘上写入文件后释放
- 16. 在磁盘上保存文件
- 17. 将上传的文件保存在磁盘上,ubuntu路径
- 18. 什么是在MySQL列中存储整数数组的最有效方法?
- 19. 什么是可以存储在使用inode和磁盘块的磁盘上的最大文件大小
- 20. 将字节数组转换为文件而不将文件写入磁盘
- 21. 将数据保存到文件的最佳方式是什么?
- 22. 在c#中将ushort转换为字节的最快方法是什么?
- 23. 在PHP中组合这个数组数组的最有效方法是什么?
- 24. 在c#上保存Excell文件数据的最佳做法是什么?
- 25. 在C#.NET中保存cookie的最佳方法是什么?
- 26. 比较存储在字节数组中的双精度的最有效方法?
- 27. 将xlsx文件保存到Sidekiq中的磁盘作为背景
- 28. 为Delphi的UnicodeString获取UTF-16LE字节的最有效方法是什么?
- 29. UWP将zip文件保存到磁盘
- 30. 在html上保存短数组的最有效和安全的方法是什么?
+1为一个全面的例子 - thx。 – barrypicker 2014-09-15 23:10:09