使用System.Environment.Username读取所有文本

时间:2014-09-18 21:25:42

标签: c#

我正在尝试阅读所有文字并替换特定位置的某些文字。该位置需要具有用户名。

档案路径:

C:\Users\zmatar\AppData\Roaming\NexJen Systems\My

这就是我所拥有的。我收到一条错误消息,说找不到位置。我要做的是将它传递给标签,然后将标签添加到该位置? IDK的

string text = File.ReadAllText(@"C:\Users\System.Environment.UserName\AppData\Roaming\NexJen Systems\My\IsisSettings.isis");
text = text.Replace("172.16.1.24", "172.16.1.23");
File.WriteAllText(@"C:\Users\System.Environment.UserName\AppData\Roaming\NexJen Systems\My\IsisSettings.isis", text);

1 个答案:

答案 0 :(得分:5)

使用Path.Combine使用Environment.SpecialFolder枚举构建路径名,以检索当前用户漫游文件夹。这将删除当前用户漫游文件夹路径中Environment.UserName的硬编码。并非必须将用户名作为用户文件夹的一部分放在本地磁盘See Folder Redirection的默认位置。

string basePath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string fullPath = Path.Combine(basePath, @"NexJen Systems\My\IsisSettings.isis");
string text = File.ReadAllText(fullPath);
text = text.Replace("172.16.1.24", "172.16.1.23");
File.WriteAllText(fullPath, text);

您可以在this answer中找到有关Environment.SpecialFolder的精彩说明,以及有关使用此文件夹的一些建议。