【发布时间】:2010-09-06 09:59:12
【问题描述】:
我正在寻找类似于 Python 中的 tempfile 模块的东西:一种(最好)安全的方式来打开文件进行写入。这应该很容易在我完成后删除...
.NET 似乎没有tempfile 模块的“包含电池”功能,它不仅会创建文件,还会将文件描述符(老派,我知道......)连同它一起返回给它路径。同时,它确保只有创建用户才能访问文件和诸如此类的东西(mkstemp() 我认为):https://docs.python.org/library/tempfile.html
啊,是的,我可以看到。但是 GetTempFileName 确实有一个缺点:在创建文件时(在调用 GetTempFileName 时创建一个 0 字节文件)和打开它时(在返回 GetTempFileName 之后)之间存在竞争条件。这可能是一个安全问题,虽然不是针对我当前的应用程序...
【问题讨论】:
-
没见过Path.GetTempDirectory,不是System.IO.GetTempPath吗?
标签: c# temporary-files