我只想创建一个不存在的文件。
像这样的代码:

if (!File.Exists(fileName))
{
    fileStream fs = File.Create(fileName);
}

如果要在“if”到“create”之间创建文件,则在竞争条件下保持打开状态。

我该如何避免呢?

编辑:
锁不能在这里使用,因为它是一个不同的进程(同一应用程序的多个实例)。

最佳答案

您也可以使用

FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate);

但是,您应该研究线程锁定,就好像有多个线程试图访问该文件一样,您可能会遇到异常。

关于c# - 仅在不存在时创建文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7872696/

10-10 13:43
查看更多