代码之家  ›  专栏  ›  技术社区  ›  NickAldwin

临时文件保存的时间长度?

  •  3
  • NickAldwin  · 技术社区  · 16 年前

    我正在开发一个程序,它将生成一些临时文件,等待用户对一些事情的输入,然后使用这些临时文件进行操作。

    我想知道我是否能可靠地预期这些临时文件在我完全处理完它们之前不会消失(例如,它们会在用户工作时消失吗?)。

    Path.GetTempFileName() Path.GetTempPath() + somename

    GetTempPath() 以及是否需要足够长的时间等待用户输入才能使用它们。

    5 回复  |  直到 16 年前
        1
  •  4
  •   Tim Robinson    16 年前

    我不知道Windows中有任何进程自动删除临时文件。用户可能已经设置了清理作业,但是您可以合理地期望您的文件至少被单独放置一两天。

    为便于比较,在Outlook中打开附件时,它会将附件复制到临时文件并启动关联的应用程序。如果用户从未关闭关联的应用程序,这些临时附件文件可能需要无限期保留。

        2
  •  3
  •   egrunin    16 年前

    打电话 GetTempPath() 只不过是指给你一个安全的地方放临时文件。它是获得环境变量值的现代等价物 PATH 从未 自动清除——你经常会发现里面装满了古老的垃圾。

        3
  •  3
  •   Ralf de Kleine    16 年前

    它不会自己清理的。

    Windows Disk Cleanup 做这个。

        4
  •  2
  •   Dr Herbie    16 年前

    在使用临时文件时,我总是保留所创建的文件名,并在处理完文件后尝试删除该文件,否则我会注意到在temp目录中积累了大量的临时文件。

        5
  •  2
  •   Jagmag    16 年前

    同意蒂姆的意见。至少在XP中,清除temp文件夹中的文件的责任在于将它们放在第一位的程序。