如何使用C#中的“Environment.UserName”检查本地文件是否存在?

时间:2014-09-19 13:18:31

标签: c#

我陷入了一些非常简单的事情,但似乎无法找到我正在寻找的东西。

我正在编写一个简单的应用程序来检查文件是否存在。它将被多个用户使用,因此不能包含特定的用户名。

我可以使用以下方式获取当前用户名:

string userName = Environment.UserName;

当我使用IF语句检查文件是否存在时,我收到错误"无法识别的转义序列"在" D"文件。

if (File.Exists(@"C:\Users\"+ userName +"\Documents\test.txt"))
        {
            lblUser.Text = "File exists";
        }

任何人都可以帮助指出我的愚蠢错误吗?

谢谢!

2 个答案:

答案 0 :(得分:6)

请勿使用Environment.UserName查找Documents文件夹 用户可以使用OS工具轻松更改该位置。

改为使用

string docFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string fileToCheck = Path.Combine(docFolder, "test.txt");
if (File.Exists(fileToCheck))
{
     lblUser.Text = "File exists";
}

查看Environment.SpecialFolder enum here

上的文档

答案 1 :(得分:3)

连接时需要重新启动。

if (File.Exists(@"C:\Users\"+ userName +@"\Documents\test.txt"))