如果我使用Path.GetTempPath()创建某个文件,它会在某个阶段自动删除,还是由我来删除?
发布于 2010-02-15 02:14:02
否,您需要手动删除该文件。Path.GetTempPath()只提供临时文件夹的文件夹路径。
发布于 2010-02-15 03:04:31
FileOptions.DeleteOnClose
将导致文件在关闭时自动删除。如果程序因异常而终止,这也是有效的。
例如,正如在this answer中提到的
using (FileStream fs = new FileStream(Path.GetTempPath() + "foo.bar",
FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None,
4096, FileOptions.RandomAccess | FileOptions.DeleteOnClose))
{
// temp file exists
}
// temp file is gone
发布于 2010-02-15 03:02:46
基本上,如果你的应用程序没有删除文件,它将一直存在,直到你的应用程序删除它,你应该根据这个想法来管理你的应用程序创建的文件。
也就是说,一旦文件关闭,你必须始终考虑到这样一个事实:下次你想要它的时候,它可能不在那里,你可能需要重新创建它。例如,Windows有一个“磁盘清理工具”,它可以在空间不足时运行,在用户指示时运行,或者按计划运行……
https://stackoverflow.com/questions/2262175
复制相似问题