2013-08-22 100 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

@史密斯如果這個職位解決了你的問題,請將其標記爲答案 –

相關問題