2013-08-22 98 views
3

我的程序包含一个表单和七个用户控件。我正在使用MS Visual Studio 2010 C#语言。无法访问刚创建的文件

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

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

我对于如果文件形式存在,或不检查代码:

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); 
     } 
    } 

代码来读取文本文件到文本框的用户控件文本:(这是相同的,其余6用户控件,它是文本框。的.txt文件和文本框只有名称也相应地不同

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

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

IOException异常是未处理

The process cannot access the file 'C:\Users\PK\Documents\Visual Studio 2010\ABC.txt' because it is being used by another process.

所以,我应该怎么办?

+5

'很容易解决'所以你为什么不先解决它? –

+0

@KingKing:我没能把标题放在第一位。所以,我添加了非常容易解决。然后我的问题被张贴。 :) – Smith

+0

@史密斯: - 请检查您的文件是否正在某处使用,或者正在打开或正在被任何其他应用程序使用! –

回答

5

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

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

谢谢Rahul!它的工作原理..这很简单..你真棒! :) – Smith

+1

@史密斯如果这个职位解决了你的问题,请将其标记为答案 –

相关问题