我有这一行:
outputtext = Path.GetDirectoryName(Application.LocalUserAppDataPath) + "\\outputtext";
这一行包含:
“C:\ Users \ bout0_000 \ AppData \ Local \ Diagnostic_Tool_Blue_Screen \ Diagnostic Tool Blue Screen \ outputtext”
我希望它只包含:
C:\用户\ bout0_000 \应用程序数据\本地
我该怎么做?
答案 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");
........