是这样的语法吗
FileStream fs = new FileStream(strFilePath, FileMode.Create);和这个一样吗?
FileStream fs = File.Create(strFilePath);如果是,哪一个更好?
发布于 2012-08-21 22:26:56
根据JustDecompile的说法,这很重要,因为File.Create最终会调用:
new FileStream(path,
FileMode.Create,
FileAccess.ReadWrite,
FileShare.None,
bufferSize,
options);使用bufferSize 4096 (默认值)和FileOptions.None (也与FileStream构造函数相同),但是FileShare标志是不同的: FileStream构造函数使用FileShare.Read创建流。
所以我说:如果你不关心其他选项,那就考虑可读性,使用File.Create(string)。
发布于 2012-08-21 22:27:35
在我看来,我使用这个:
using (FileStream fs = new FileStream(strFilePath, FileMode.Create))
{
fs.Write("anything");
fs.Flush();
}它们基本上做同样的事情,但这一个创建文件,并在创建/写入模式下打开它,您可以设置缓冲区大小和所有参数。
new FileStream(path, FileMode.Create, FileAccess.ReadWrite, FileShare.None, bufferSize, options);对于File.Create,它包装了所有这些默认的缓冲区和参数。使用我的新FileStream(strFilePath,FileMode.Create),您将有更好的灵活性和管理能力;但在这一点上,如果您想要更多的可读性或管理选项,那么它更多是个人的选择!
发布于 2012-08-21 22:32:11
第二个只为流使用了不同的FileMode:
http://msdn.microsoft.com/en-us/library/47ek66wy.aspx
管理此方法的默认值!
但是使用using语句,所以任何资源都将以正确的方式释放!
using (FileStream fs = new FileStream(strFilePath, FileMode.Create))
{
// HERE WHAT YOU WANT TO DO!
}https://stackoverflow.com/questions/12056976
复制相似问题