我有一個將對象保存到文件中的方法。該對象被修改並保存多次。問題是,當我試圖將對象第二次保存到同一個文件時,我得到了UnautorizedAccessException。下面是代碼:設置屬性後文件被鎖定
public void Save(string path)
{
string fileName = String.Format("{0}\\{1}", path, DataFileName);
using (FileStream fs = new FileStream(fileName, FileMode.Create))
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs, this);
File.SetAttributes(fileName, FileAttributes.Hidden);
}
}
什麼是最有趣的是,如果我評論的線
File.SetAttributes(fileName, FileAttributes.Hidden);
問題就消失了。怎麼會?我該如何解決這個問題?
您是否關閉第一次保存的流? – Botonomous
反正你的'SetAttributes()'調用不應該在''using'之外嗎? – itsme86
取消隱藏,保存,重新隱藏。 –