正确的位置来保存在Windows中的临时文件?
我有一个需要写入临时位置的文件,在Windows中最好的地方是什么? 这个文件不需要移动,因为我需要读取它几次,并closures程序时处理它。
使用
Path.GetTempPath();
要么
Path.GetTempFileName();
正如注释者所指出的那样,GetTempFileName()不是线程安全的,但是你可以根据GUID构造唯一的文件名。
其他人打败了我
System.IO.Path.GetTempPath()
但是您也可以查看应用程序数据文件夹。 这将允许你更多地控制你的文件,就像所有用户共享1个或每个用户1个共享的能力。
Application.CommonAppDataPath Application.UserAppDataPath
从System.IO.Path
使用Windows API函数GetTempPath()
(请参阅MSDN )
using System.IO ... myTempPath = Path.GetTempPath();
你应该知道在你的程序执行过程中文件系统可能会改变。 Temppath可能会更改(不太可能,已授予),或者您的临时文件可能已被用户移动或删除。
准备在每次访问时检查它的存在,并且在没有正常发现的情况下处理这个事件。
如果您需要将应用程序写入临时位置并部分信任,则需要查看IsolatedStorage 。
如果你想build立自己的自定义的临时文件名参考一个临时的位置,我使用这样的东西,剥离PATH和应用我自己的文件名…
string wsPDFfile = Path.GetTempPath() + wsStudentID + "_" + Path.GetFileNameWithoutExtension(Path.GetTempFileName()) + ".pdf";