在Windows中保存临时文件的最佳位置在哪里

Cha*_*iga 25 windows windows-vista

我正在忙着编写一个在windows下运行的应用程序

保存临时文件的正确位置在哪里?

Ste*_*idi 39

如果您使用的是.NET,请使用Path.GetTempPath().这将保证您使用分配给运行应用程序的用户的临时目录,而不管其存储位置.

如果浏览文件系统,您会注意到有许多"临时"目录:

  • 〜\温度
  • 〜\ WINDOWS\TEMP
  • 〜\ Users \用户名\ AppData \本地的\ Temp

... 还有很多.这些路径中的一些是依赖于操作系统的,并且不会出现在某些窗口风格上.因此,节省一些时间和麻烦,让.NET框架找出"临时"路径所在的位置.

  • 更好的是,只需使用Path.GetTempFileName(),它也将生成文件名,并返回它的完整路径(在相应的临时文件夹中). (4认同)

Mic*_*ael 12

使用GetTempPath和可能的GetTempFileName来确定临时文件的放置位置.这是获取文件临时位置的最可靠,最终用户友好且面向未来的方法.


Mar*_*ett 6

在临时目录?

使用GetTempPath或批处理文件%TEMP%


Eri*_* J. 5

C:\Temp 不是一个好的选择。

如果您使用 .Net,请使用如下代码:

           string baseFolder = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

        string cfgFolder = Path.Combine(baseFolder, "MyAppName");


        try
        {
            if (!Directory.Exists(cfgFolder))
            {
                Directory.CreateDirectory(cfgFolder);
            }
        }
        catch { } // If no access, not much we can do.
Run Code Online (Sandbox Code Playgroud)

获取应用程序数据的中期存储位置,或使用 Path.GetTempPath() 进行数据的临时存储。

  • C:\ 可能是一个非常小的分区,在许多情况下,普通(非管理员)用户没有 C:\ 的写入权限,因此他们无法创建 C:\temp (2认同)