Visual C#在桌面上创建文本文件访问被拒绝

时间:2014-08-18 14:22:56

标签: c#

表单加载时的代码:

string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
if (!File.Exists(path))
{
    // Create a file to write to. 
    using (StreamWriter sw = File.CreateText(path))
    {
        sw.WriteLine("test");
    }

}

这是我不断收到的错误:http://gyazo.com/bd623e67a24408ac3e71b5cc79a30f94

1 个答案:

答案 0 :(得分:4)

您的代码现在正在尝试创建一个与Desktop文件夹具有相同名称的文件。要创建新文件,您需要在路径字符串的末尾附加文件名。尝试这样的事情:

string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
if (!File.Exists(path + @"\test.txt"))
{
    // Create a file to write to.
    using (StreamWriter streamWriter = File.CreateText(path + @"\test.txt"))
    {
        streamWriter.WriteLine("test");
    }
}

字符串中的@符号使编译器忽略字符串中的任何转义字符,将它们视为字符串文字。此代码将检查桌面上是否存在名为test.txt的文件。如果没有,它会创建一个并将“test”写入其中。