我一直认为答案是肯定的,但现在我正在努力寻找真相。
当我使用创建临时文件时Path.GetTempFileName()
,Windows 稍后会自动清理吗?
如果我在下面创建一个目录呢?Path.GetTempPath()
? windows 会清理它吗?
或者开发人员有责任删除在那里创建的文件?
不,它们不会被自动删除。为了创建一个关闭时会自动删除的文件,请传递FILE_FLAG_DELETE_ON_CLOSE
to CreateFile http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858.aspx.
该文件的所有句柄(包括指定句柄和任何其他打开或重复的句柄)关闭后将立即删除。
如果文件存在现有的打开句柄,则调用将失败,除非它们都是用文件共享删除共享模式。
对该文件的后续打开请求将失败,除非文件共享删除指定共享模式。
为了从 .net 访问此 Win32 功能,请使用SafeFileHandle http://msdn.microsoft.com/en-us/library/microsoft.win32.safehandles.safefilehandle.aspx class.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)