2017-02-16 50 views
-3

在C#中,我是否需要关闭文件流我需要在调用Create方法后关闭文件流吗?

File.Close() 

调用its create method

File.Create(path) 

后?

+1

答案是在你的链接的例子。您需要通过File.Create方法返回关闭对象。在该示例中,close调用由using语句隐式调用。 – Kalten

+0

[关闭一个文件File.Create后]的可能的复制(http://stackoverflow.com/questions/5156254/closing-a-file-after-file-create) –

回答

5

根据您在问题中链接到的MSDN页面,答案是肯定的。
注备注部分:

通过这种方法创建的FileStream对象具有无的默认文件共享值;在原始文件句柄关闭之前,没有其他进程或代码可以访问创建的文件。

但是,如果你是在一个using声明写它,那么C#编译器处理文件流为您关闭和处置:

using (var fs = File.Create(path)) 
{ 
// Do your stuff here 
} 
0

你应该,如果你不打算使用文件流不再或者你会收到错误,如果你尝试打开文件在其他地方像下面的例子:

FileStream fs = File.Create("test.txt");    
string[] s = File.ReadAllLines("test.txt");//Will cause an IOException 
相关问题