3

我的程序包含一个表单和七个用户控件。我正在使用 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 个用户控件和文本框相同。只有 .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”,因为它正被另一个进程使用。

所以我该怎么做?

4

1 回答 1

9

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

if(!File.Exists(FilePath)){
    File.Create(FilePath).Close();}
    File.WriteAllText(FileText);
于 2013-08-22T18:49:41.947 回答