C# 从字节[]创建文件时,最好使用哪个选项?
我想用byte[]创建一个文件,哪一个最好C# 从字节[]创建文件时,最好使用哪个选项?,c#,.net,file,C#,.net,File,我想用byte[]创建一个文件,哪一个最好 byte[] content=File.ReadAllBytes(@"C:\ServiceLog.txt"); FileStream stream = new FileStream(@"C:\ServiceLog1.txt", FileMode.Create, FileAccess.ReadWrite); stream.Write(content, 0, content.Length); stream.Close(); 或 如果您有一个byte[]
byte[] content=File.ReadAllBytes(@"C:\ServiceLog.txt");
FileStream stream = new FileStream(@"C:\ServiceLog1.txt", FileMode.Create, FileAccess.ReadWrite);
stream.Write(content, 0, content.Length);
stream.Close();
或
如果您有一个
byte[]
,那么最好只使用writealbytes
,让包装器方法来处理其余部分。Stream
方法在(奇怪的是)流式传输数据时非常有用,这意味着:当您开始编写时,您可能不知道所有内容。既然您有字节[]
,只需告诉我们。但是,在一般情况下,请注意,基于字节[]
的API可能比基于流的API对内存的影响更大,尤其是对于大型内容。所有字节都已在内存中,因此请使用:
File.WriteAllBytes(@"C:\12.txt",content);
流方法在处理非常大的文件时非常有用,并且不想将所有内容都保存在内存中。旁注:使用FileStream
时,应该确保Dispose()
正确地处理它,通常是通过使用。这样用户写字节的效率更高,代码更少。感谢您的提示。在使用File.writealBytes时,我遇到了资源不足错误,并能够通过切换到流方法来修复它。
File.WriteAllBytes(@"C:\12.txt",content);