我如何只获取LocalUser路径?

时间:2013-08-11 21:08:28

标签: c# winforms

我有这一行:

outputtext = Path.GetDirectoryName(Application.LocalUserAppDataPath) + "\\outputtext";

这一行包含:

“C:\ Users \ bout0_000 \ AppData \ Local \ Diagnostic_Tool_Blue_Screen \ Diagnostic Tool Blue Screen \ outputtext”

我希望它只包含:

C:\用户\ bout0_000 \应用程序数据\本地

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以使用Environment静态类

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

枚举Environment.SpecialFolder提供了各种预定义位置,您可以将它们用作存储数据的基本目录。另一种可能性是Environment.SpecialFolder.LocalApplicationData。这两个枚举之间的区别如下:

  

LocalApplicationData 该目录充当当前使用的特定于应用程序的数据的公共存储库,   非漫游用户。

     

ApplicationData 作为当前漫游用户的特定于应用程序的数据的公共存储库的目录。

不要忘记系统上安装的每个应用程序都共享这些位置。因此,最好只为您的应用程序创建一个子文件夹并将数据存储在其中。像这样的东西

string commonFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string appDataFolder = Path.Combine(commonFolder,"Diagnostic_Tool_Blue_Screen"); 
if(!Directory.Exists(appDataFolder))
    Directory.CreateDirectory(appDataFolder);

string dataFile = Path.Combine(appDataFolder,"outputData.txt");
........