我想创建一个文件,如果它尚不存在.
像这样的代码:
if (!File.Exists(fileName))
{
fileStream fs = File.Create(fileName);
}
Run Code Online (Sandbox Code Playgroud)
如果文件将在"if"和"create"之间创建,请将其保留为竞争条件.
我怎么能避免呢?
编辑:这里不能使用
锁,因为它是一个不同的进程(同一个应用程序的多个实例).
Kri*_*enn 21
你也可以使用
FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate);
Run Code Online (Sandbox Code Playgroud)
但是,您应该查看线程锁定,就好像多个线程尝试访问该文件一样,您可能会遇到异常.
Roe*_*rel 13
Kristian Fenn的答案几乎就是我所需要的,只是使用不同的FileMode.这就是我要找的东西:
FileStream fs = new FileStream(fileName, FileMode.CreateNew);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31734 次 |
| 最近记录: |