我想将目录中的文件重命名为原子事务.该文件不会更改目录.该路径作为NTFS文件系统的UNC路径提供,可能在Server 03或08上.
File.Move()原子用于这些目的吗?如果它成功完成或失败,原始文件仍然完好无损?
我的直觉是肯定的,但我想确定一下.
我正在尝试使用C#生成一个巨大的文本文件,另一个进程不断查看该位置并尝试拾取该文件(如果可用).
为了使下面的文件原子是以下步骤:
1 - Write to file : Filename_temp.txt
2 - Check if Filename.txt already exists then Delete
3 - Do a File.Move to the same destination
From filename : Filename_temp.txt
TO : Filename.txt
Run Code Online (Sandbox Code Playgroud)
由于C#没有重命名,我必须依赖File.Move,这是否确保移动操作是原子的还是有另一种方法来实现这种原子性?