临时文件夹中的文件会自动删除吗?

Posted

技术标签:

【中文标题】临时文件夹中的文件会自动删除吗?【英文标题】:Are files in the temporary folder automatically deleted? 【发布时间】:2011-01-16 18:11:40 【问题描述】:

如果我使用 Path.GetTempPath() 创建一些文件 - 它会在某个阶段自动删除,还是由我来删除?

【问题讨论】:

检查 TEMP 文件夹的限制:***.com/questions/1683831/… 【参考方案1】:

@987654321@ 将导致文件在关闭时自动删除。如果程序被异常终止,这也有效。

比如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

【讨论】:

【参考方案2】:

不,您需要手动删除该文件。 Path.GetTempPath() 只是为您提供临时文件夹的文件夹路径。

【讨论】:

【参考方案3】:

从 Windows 10 开始,答案是可能是的 - 取决于机器配置和托管 TEMP 文件夹的驱动器上的可用空间量。

具体来说,Storage Sense 可以在用户启用的情况下从 TEMP 文件夹中任意删除文件(我发现这很难)。据我所知,它会在磁盘空间不足时self-enable。

【讨论】:

事实上,这种行为让我完全怀疑%TEMP% 文件夹的用处:***.com/questions/63854061/…【参考方案4】:

基本上,如果您的应用程序不删除文件,它仍然会存在,直到您的应用程序将其删除,您应该根据该想法管理您的应用程序创建的文件。

也就是说,一旦文件关闭,您必须始终考虑到下次您需要它时它可能不存在并且您可能需要重新创建它。例如,Windows 有一个“磁盘清理工具”,它可以在空间不足时、由用户指示或按计划运行时运行......

【讨论】:

以上是关于临时文件夹中的文件会自动删除吗?的主要内容,如果未能解决你的问题,请参考以下文章

linux tmp目录 可以删除吗

temp里的文件可删除吗?

linux /tmp 目录下的临时文件默认多少时间自动删除

mysql自动备份数据库与自动删除临时文件

php,apache ,mysql,然后在php的/tmp下发现很多.tmp临时文件。请问这些文件是怎样生成的?可以删除吗?

adobeacrobatprodc有缓存吗