我的程序包含一个表单和七个用户控件。我正在使用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”,因为它正由另一个进程使用。
那么,我该怎么办?
答案 0 :(得分:6)
原因提到here。你可以试试这个: -
if(!File.Exists(FilePath)){
File.Create(FilePath).Close();}
File.WriteAllText(FileText);