c# - 如何在不存在的文件夹中自动创建文件?

标签 c# file directory atomic

给定一个文件的路径,我想创建这个文件,如果不存在则创建指向它的目录字符串;但我不希望我的程序的任何其他实例能够看到其中没有文件的基本目录。

基本上,我想一次自动创建所需的目录和文件。据我了解,它必须分两步完成(创建目录,创建文件),所以我在考虑使用锁定文件,但同样的问题也存在:我在哪里创建锁定文件?我不知道需要创建多少层文件夹,并且在路径的某个时刻,我可能会失去写入权限,因此没有锁定文件的“安全位置”。

然后我想到使用锁定目录而不是锁定文件,但我找不到任何“测试和设置”方法来创建目录(Directory.CreateDirectory(path) 没有告诉你它是否做了什么)。

那么正确的做法是什么?

最佳答案

以临时名称创建目录和文件,并自动将目录重命名为最终名称。

或者使用事务性 NTFS(更难)。

关于c# - 如何在不存在的文件夹中自动创建文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12056535/

相关文章:

c# - 未找到与 RestoreAssemblyResources AssemblyName 元数据匹配的引用

c# - 如何使用 C# 从文本中提取人名和地名?

windows - 通过命令行比较文件夹

c# - SaveFileDialog 上的自定义检查文件名

C# 日期时间解析问题

file - 使用批处理文件递归查找和删除文件夹

file - neo4j LOAD CSV 返回无法加载外部资源 - neo4j 在目录中丢失

linux - 在linux上只创建文件权限

java - 在 .jar 中获取目录

Java WatchKey 在路径删除后仍然有效(仅限 Windows)