我试过了:
var systemPath = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
var complete = Path.Combine(systemPath, extractfilename);
但是结果是:
C:ProgramDataExtract.txt
我的期望输出是:
C:UserAppDataExtract.txt
您需要在Environment.SpecialFolder.ApplicationData
文件夹中创建文件。还有另一种方法可以获得它的值,因此您可以使用它并附加路径。
。
string path;
path = @"%AppData%test";
Environment.ExpandEnvironmentVariables(path);
C:UserAppDataLocal
使用Environment.SpecialFolder.LocalApplicationData
:
作为当前非漫游用户使用的特定应用程序数据的公共存储库的目录.
C:UserAppDataRoaming
使用Environment.SpecialFolder.ApplicationData
:
作为当前漫游用户特定于应用程序的数据的公共存储库的目录。漫游用户在网络上的多台计算机上工作。漫游用户的配置文件保存在网络上的服务器上并在用户登录时加载到系统中。
这将创建一个名为" MyName"在"% appdata %"。
string directoryName = "MyName";
string appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string mainPath = Path.Combine(appDataPath, directoryName);
Directory.CreateDirectory(mainPath);
这将创建一个文件"%appdata%"被称为"MyFile.txt"上面写着&;Hello world &;
string text = "Hello Word";
string fileName = "MyFile.txt";
string appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string mainPath = Path.Combine(appDataPath, fileName);
File.WriteAllText(mainPath, text);