FileStream创建

use*_*511 10 c# filestream

这是语法

 FileStream fs = new FileStream(strFilePath, FileMode.Create);
Run Code Online (Sandbox Code Playgroud)

这个一样吗?

FileStream fs = File.Create(strFilePath);
Run Code Online (Sandbox Code Playgroud)

什么时候,哪一个更好?

Cod*_*ter 12

根据JustDecompile,它确实很重要,因为File.Create最终要求:

new FileStream(path, 
               FileMode.Create, 
               FileAccess.ReadWrite, 
               FileShare.None, 
               bufferSize, 
               options);
Run Code Online (Sandbox Code Playgroud)

使用bufferSize4096(默认)和FileOptions.None(与FileStream构造函数相同),但FileShare标志不同:FileStream构造函数创建Stream with FileShare.Read.

所以我说:File.Create(string)如果您不关心其他选项,请寻求可读性和使用.


Tri*_*zZz 8

在我看来,我用这个:

using (FileStream fs = new FileStream(strFilePath, FileMode.Create))
{    
    fs.Write("anything");
    fs.Flush();
}
Run Code Online (Sandbox Code Playgroud)

它们基本上做同样的事情,但是这个创建文件并在创建/写入模式下打开它,你可以设置缓冲区大小和所有参数.

new FileStream(path, FileMode.Create, FileAccess.ReadWrite, FileShare.None, bufferSize, options);
Run Code Online (Sandbox Code Playgroud)

使用File.Create,它包装了所有那些默认缓冲区和params ..你将有一个更好的灵活性和管理我的新FileStream(strFilePath,FileMode.Create); 但是在这一点上,如果你想要更多的可读性或管理选择,它更像是个人选择!

  • 最好将此代码包含在using语句中!! (2认同)