无法访问刚刚创建的文件

时间:2013-08-22 18:42:57

标签: c# visual-studio-2010 ioexception

我的程序包含一个表单和七个用户控件。我正在使用MS Visual Studio 2010 C#语言。

我的程序:将.txt文件中的所有文本显示在UserControl的文本框中。

我的目标:我想检查.txt文件是否存在。如果.txt文件不存在,请创建它,以便用户可以将一些数据放入.txt文件中,然后显示在UserControl的文本框中。如果.txt文件已存在,则直接将.txt文件中的数据显示到文本框中。

我在FORM中检查文件是否存在的代码:

private void Form1_Load(object sender, EventArgs e)
    {
        string path1 = @"C:\Users\PK\Documents\Visual Studio 2010\ABC.txt";
        if (!File.Exists(path1))
        {
            File.Create(path1);
        }

        string path2 = @"C:\Users\PK\Documents\Visual Studio 2010\DEF.txt";
        if (!File.Exists(path2))
        {
            File.Create(path2);
        }

        string path3 = @"C:\Users\PK\Documents\Visual Studio 2010\GHI.txt";
        if (!File.Exists(path3))
        {
            File.Create(path3);
        }

        string path4 = @"C:\Users\PK\Documents\Visual Studio 2010\JLK.txt";
        if (!File.Exists(path4))
        {
            File.Create(path4);
        }

        string path5 = @"C:\Users\PK\Documents\Visual Studio 2010\MNO.txt";
        if (!File.Exists(path5))
        {
            File.Create(path5);
        }
    }

将文件从.txt文件读取到UserControl中的TextBox的代码:(对于剩余的6个usercontrol及其文本框,这是相同的。只有.txt文件和文本框的名称相应地不同。

private void UserControl1_Load(object sender, EventArgs e)
    {
        textBox5.Text = File.ReadAllText(@"C:\Users\PK\Documents\Visual Studio 2010\ABC.txt");
    }

所以,当我运行程序时,我收到以下错误:

IOException未处理

  

该进程无法访问文件“C:\ Users \ PK \ Documents \ Visual Studio 2010 \ ABC.txt”,因为它正由另一个进程使用。

那么,我该怎么办?

1 个答案:

答案 0 :(得分:6)

原因提到here。你可以试试这个: -

if(!File.Exists(FilePath)){
    File.Create(FilePath).Close();}
    File.WriteAllText(FileText);