我想用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();
或
File.WriteAllBytes(@"C:\12.txt",content);
答案 0 :(得分:9)
如果你有一个byte[]
,你可以使用WriteAllBytes
并让包装方法担心其余的问题。当您(奇怪地)流式传输数据时,Stream
方法很有用,这意味着:当您开始编写时,您可能不知道这一切。由于你做拥有byte[]
,只需使用它即可。但是,在一般情况下,请注意基于byte[]
的API可能比基于Stream
的API对内存产生更大的影响,尤其是对于大型内容。
答案 1 :(得分:6)
你的所有字节都在内存中,所以也可以使用:
File.WriteAllBytes(@"C:\12.txt",content);
当您处理非常大的文件并且不想将所有内容保存在内存中时,流方法很有用。