我有一个将对象保存到文件中的方法。该对象被修改并保存多次。问题是,当我试图将对象第二次保存到同一个文件时,我得到了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
取消隐藏,保存,重新隐藏。 –