2016-02-11 119 views
1

我得到錯誤錯誤「類型‘System.IO.IOException’未處理的異常出現在mscorlib.dll」

型「System.IO.IOException」未處理的異常出現在mscorlib.dll

附加信息:進程無法訪問文件>'c:\ Tvarkarastis \ Tvarkarastis.txt',因爲它正在被另一個進程使用。

,當我嘗試使用

private void sukurtiFailąToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     string pathString = System.IO.Path.Combine(@"c:\", "Tvarkarastis"); 
     System.IO.Directory.CreateDirectory(pathString); 
     string fileName = "Tvarkarastis.txt"; 
     pathString = System.IO.Path.Combine(pathString, fileName); 
     System.IO.File.Create(pathString); 
     richTextBox1.Clear(); 
     pathString = System.IO.Path.Combine(@"c:\Tvarkarastis", "Tvarkarastis.txt"); 
      string[] lines = { "First line", "Second line", "Third line" }; 
      richTextBox1.AppendText("Prašome atsidaryti failą ir jį pakeisti. Failas yra : " + pathString + Environment.NewLine); 
      System.IO.File.WriteAllLines(pathString, lines); 
     } 

該函數試圖創建一個文件,並寫入。如果我禁用寫入並僅保留文件創建功能的作品。 林新編碼,所以請原諒,如果有什麼愚蠢的代碼或我的解釋。

回答

2

該文件被鎖定在創作爲使用File.create()生成新文件的FileStream,創建文件時,你應該有一個using指令中創建,然後從那裏繼續代碼:

 using (StreamWriter sw = new StreamWriter(File.Create(pathString))) 
     { 
      richTextBox1.Clear(); 
      string[] lines = { "First line", "Second line", "Third line" }; 
      richTextBox1.AppendText("Prašome atsidaryti failą ir jį pakeisti. Failas yra : " + pathString + Environment.NewLine); 
      foreach (var line in lines) 
      { 

       sw.WriteLine(line); 
      } 
     } 
+0

謝謝非常 :) –

相關問題