-3

configFilePath = @"C:\Users\" + 用户名 + @"\abc\abc.exe.config";
if(File.Exists(configFilePath))
{
StreamReader fileReader = new StreamReader(configFilePath);
}

上面的行抛出“找不到路径的一部分”异常。此错误发生在特定机器上。在所有其他机器上它工作正常。甚至在那台机器上,同样的代码以前也可以工作。机器没有做任何改动。我已经阅读了所有讨论过这个问题的论坛。但是无法弄清楚为什么仅在该机器上会发生这种情况,现在也是如此。有权访问文件夹和文件。

4

2 回答 2

5

首先,对路径使用Path.Combine()而不是字符串连接。但是,用户名可能包含在路径中无效的字符,例如单引号,因此它可能已被转义。假设“C:\Users”是用户的目录而不是您自己的文件夹结构,更好的解决方案是使用Environment.GetFolderPath()方法和SpecialFolders枚举中的UserProfile值查找该用户的用户配置文件文件夹。

于 2012-09-03T05:15:12.383 回答
0

其他需要考虑的是文件/文件夹的权限。我遇到了由于 Windows 更新而突然文件夹安全性失控的问题。

于 2012-09-03T05:25:46.310 回答