WPF拒绝访问路径(..)

时间:2015-04-13 18:25:34

标签: c# wpf

在我的应用程序中,我获取硬盘的序列号并将其写入文本文件(如果不存在则创建文件)..这是我的代码:

string path = @"d:\RegisterKey.txt";
File.Create(path);
TextWriter tw = new StreamWriter(path);
tw.WriteLine(GetHDSerialNo);
tw.Close();

文件创建成功,但TextWriter步骤中发生问题:

  

拒绝访问路径'd:\ RegisterKey.txt'。

尝试以管理员身份运行Visual Studio但未解决问题。

任何建议

提前致谢

Abdusalam

2 个答案:

答案 0 :(得分:4)

你有两个流开放。 File.Create创建并返回一个新流,默认情况下不允许共享写入。然后,您尝试使用另一个流写入它,该流被阻止,因为File.Create的流仍处于打开状态。相反,您可以将该流传递给StreamWriter。像这样调整你的代码:

string path = @"d:\RegisterKey.txt";
using (var stream = File.Create(path))
{
    using(TextWriter tw = new StreamWriter(stream))
    {
        tw.WriteLine(GetHDSerialNo);
    }
}

答案 1 :(得分:1)

File.Create方法创建文件并打开FileStream,因此您的文件已经打开。

按照你的方式:

var stream = File.Create(path);