我正在學習c#,我想檢查文件是否存在。如果存在,它應該加載並寫入一個xml文件。如果它不存在,它應該創建它,之後它應該加載並寫入xml文件。但是,如果我點擊我的按鈕,出現錯誤:C#:檢查文件是否存在 - 進程無法訪問文件錯誤
「進程無法訪問文件,因爲它正在被另一個進程使用。」
在這裏你可以看到我的代碼:
private void btnSave_Click(object sender, EventArgs e)
{
XElement xmlnode = new XElement("Namespace",
new XElement("RandomText1", textBox1.Text),
new XElement("RandomText2", textBox2.Text),
new XElement("RandomText3", textBox3.Text)
);
XElement xmlFile;
try
{
xmlFile = XElement.Load("testsave.xml");
xmlFile.Add(xmlnode);
}
catch (XmlException)
{
xmlFile = new XElement("Test", xmlnode);
}
xmlFile.Save("testsave.xml");
DataSet ds = new DataSet();
ds.ReadXml("testsave.xml");
DataTable dt = ds.Tables[0];
dataGridView1.DataSource = dt;
}
private void Form1_Load(object sender, EventArgs e)
{
if (!File.Exists("testsave.xml"))
{
File.Create("testsave.xml");
}
}
關閉的FileStream。 – Muctadir
爲什麼在'try/catch'之前檢查/創建'Form1_Load'中的xml文件而不是'btnSave_Click'? – Corak
這是另一個想法。有什麼不同?每一個提示都是值得歡迎的,因爲我在學習:) – rschweri